summaryrefslogtreecommitdiffstats
path: root/src/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/xloop_file_fmt_raw.c7
-rw-r--r--src/kernel/xloop_main.c4
-rw-r--r--src/kernel/xloop_main.h4
3 files changed, 13 insertions, 2 deletions
diff --git a/src/kernel/xloop_file_fmt_raw.c b/src/kernel/xloop_file_fmt_raw.c
index 6e68437..d8a4cb5 100644
--- a/src/kernel/xloop_file_fmt_raw.c
+++ b/src/kernel/xloop_file_fmt_raw.c
@@ -172,10 +172,17 @@ static int __raw_file_fmt_rw_aio(struct xloop_device *xlo, struct xloop_cmd *cmd
kthread_associate_blkcg(cmd->css);
#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 11, 0)
+ if (rw == ITER_SOURCE)
+ ret = file->f_op->write_iter(&cmd->iocb, &iter);
+ else
+ ret = file->f_op->read_iter(&cmd->iocb, &iter);
+#else
if (rw == WRITE)
ret = call_write_iter(file, &cmd->iocb, &iter);
else
ret = call_read_iter(file, &cmd->iocb, &iter);
+#endif
__raw_file_fmt_rw_aio_do_completion(cmd);
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0) && !RHEL_CHECK_VERSION(RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(9, 0))
diff --git a/src/kernel/xloop_main.c b/src/kernel/xloop_main.c
index cff7aa3..067159a 100644
--- a/src/kernel/xloop_main.c
+++ b/src/kernel/xloop_main.c
@@ -12,6 +12,8 @@
#include "xloop_main_4.18.c"
#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
#include "xloop_main_5.15.c"
-#else
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0)
#include "xloop_main_6.6.c"
+#else
+#include "xloop_main_6.11.c"
#endif
diff --git a/src/kernel/xloop_main.h b/src/kernel/xloop_main.h
index b4615d6..749c8c4 100644
--- a/src/kernel/xloop_main.h
+++ b/src/kernel/xloop_main.h
@@ -17,6 +17,8 @@
#include "xloop_main_4.18.h"
#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
#include "xloop_main_5.15.h"
-#else
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0)
#include "xloop_main_6.6.h"
+#else
+#include "xloop_main_6.11.h"
#endif