This small series based on for-4.21/block brings improvements to I/O priority hanlding. The main fixes are in patches 5, 6 and 7. These fix BIO and request I/O priority initialization for both the synchronous and asynchronous pathes.
Of note is that patch 3 is what I beleive a clear bug fix but can result in userland applications behavior change since a different I/O priority values will be returned for processes that have *not* executed ioprio_set(). This needs careful review. Damien Le Moal (7): aio: Comment use of IOCB_FLAG_IOPRIO aio flag block: Remove bio->bi_ioc block: Fix get_task_ioprio() default return value block: Introduce get_current_ioprio() aio: Fix fallback I/O priority value block: prevent merging of requests with different priorities block: Initialize BIO I/O priority early block/bio.c | 4 ---- block/blk-core.c | 12 +----------- block/blk-merge.c | 14 ++++++++++++-- block/blk-mq-sched.c | 4 ++-- block/blk-mq-sched.h | 2 +- block/blk-mq.c | 4 ++-- block/blk.h | 16 ---------------- block/ioprio.c | 2 +- fs/aio.c | 2 +- include/linux/blk_types.h | 3 +-- include/linux/fs.h | 2 +- include/linux/ioprio.h | 13 +++++++++++++ include/uapi/linux/aio_abi.h | 2 ++ 13 files changed, 37 insertions(+), 43 deletions(-) -- 2.19.1