[Devel] [PATCH VZ9] dm-ploop use helper to initialize kiocb

Alexander Atanasov alexander.atanasov at virtuozzo.com
Tue Sep 20 11:26:33 MSK 2022


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-142045
Signed-off-by: Alexander Atanasov <alexander.atanasov at virtuozzo.com>
---
 drivers/md/dm-ploop-target.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/md/dm-ploop-target.c b/drivers/md/dm-ploop-target.c
index 0e074b29e823..f7538219f867 100644
--- a/drivers/md/dm-ploop-target.c
+++ b/drivers/md/dm-ploop-target.c
@@ -15,6 +15,7 @@
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/file.h>
+#include <linux/fs.h>
 #include <linux/slab.h>
 #include <linux/vmalloc.h>
 #include <linux/uio.h>
@@ -56,11 +57,9 @@ void ploop_call_rw_iter(struct file *file, loff_t pos, unsigned rw,
 	struct kiocb *iocb = &pio->iocb;
 	int ret;
 
+	init_sync_kiocb(iocb, file);
 	iocb->ki_pos = pos;
-	iocb->ki_filp = file;
 	iocb->ki_complete = ploop_aio_complete;
-	iocb->ki_flags = IOCB_DIRECT;
-	iocb->ki_ioprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 0);
 
 	atomic_set(&pio->aio_ref, 2);
 
-- 
2.31.1



More information about the Devel mailing list