[Devel] [PATCH rh9 v2 2/4] dm-qcow2: use helper to initialize kiocb

Konstantin Khorenko khorenko at virtuozzo.com
Wed Oct 12 18:18:56 MSK 2022


From: Alexander Atanasov <alexander.atanasov at virtuozzo.com>

Initialize kiocb with init_sync_kiocb(...)
which handles file flags, write hints and ioprio.

Bios can get merged wrong if ioprio is not set early -
20578bdfd041 ("block: Initialize BIO I/O priority early") for details

https://jira.sw.ru/browse/PSBM-142050
Signed-off-by: Alexander Atanasov <alexander.atanasov at virtuozzo.com>
---
 drivers/md/dm-qcow2-target.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/md/dm-qcow2-target.c b/drivers/md/dm-qcow2-target.c
index f646992a6040..f23a2f034f3c 100644
--- a/drivers/md/dm-qcow2-target.c
+++ b/drivers/md/dm-qcow2-target.c
@@ -4,6 +4,7 @@
  */
 #include <linux/prandom.h>
 #include <linux/uio.h>
+#include <linux/fs.h>
 
 #include "dm.h"
 #include "dm-qcow2.h"
@@ -122,11 +123,9 @@ void call_rw_iter(struct qcow2 *qcow2, loff_t pos, unsigned int rw,
 	struct file *file = qcow2->file;
 	int ret;
 
+	init_sync_kiocb(iocb, file);
 	iocb->ki_pos = pos;
-	iocb->ki_filp = file;
 	iocb->ki_complete = qcow2_aio_complete;
-	iocb->ki_flags = IOCB_DIRECT;
-	iocb->ki_ioprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 0);
 
 	atomic_set(&qio->aio_ref, 2);
 
-- 
2.31.1



More information about the Devel mailing list