aio: Fix fallback I/O priority value
authorDamien Le Moal <damien.lemoal@wdc.com>
Tue, 20 Nov 2018 01:52:36 +0000 (10:52 +0900)
committerJens Axboe <axboe@kernel.dk>
Tue, 20 Nov 2018 02:03:47 +0000 (19:03 -0700)
For cases when the application does not specify aio_reqprio for an aio,
fallback to use get_current_ioprio() to obtain the task I/O priority
last set using ioprio_set() rather than the hardcoded IOPRIO_CLASS_NONE
value.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Adam Manzanares <adam.manzanares@wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/aio.c

index 301e6314183b66756077fed9e37630cc5436ff40..b984918be4b7f00a3129fc85063e0ac67ae6338d 100644 (file)
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1441,7 +1441,7 @@ static int aio_prep_rw(struct kiocb *req, struct iocb *iocb)
 
                req->ki_ioprio = iocb->aio_reqprio;
        } else
-               req->ki_ioprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 0);
+               req->ki_ioprio = get_current_ioprio();
 
        ret = kiocb_set_rw_flags(req, iocb->aio_rw_flags);
        if (unlikely(ret))