aboutsummaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
authorDeHackEd <[email protected]>2016-11-15 12:20:46 -0500
committerBrian Behlendorf <[email protected]>2016-11-15 09:20:46 -0800
commit7ca25051b6470e8471b4ed454d8c66ff21338de3 (patch)
treed29dbbf8ad51f7b86609e4d34cf0e334626543c1 /module
parent6146e17ebe48da1be8b4e2bf38c879273b7c34e5 (diff)
Kernel 4.9 compat: file_operations->aio_fsync removal
Linux kernel commit 723c038475b78 removed this field. Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: DHE <[email protected]> Closes #5393
Diffstat (limited to 'module')
-rw-r--r--module/zfs/zpl_file.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/module/zfs/zpl_file.c b/module/zfs/zpl_file.c
index 2c84d700d..a22522028 100644
--- a/module/zfs/zpl_file.c
+++ b/module/zfs/zpl_file.c
@@ -130,12 +130,15 @@ zpl_fsync(struct file *filp, struct dentry *dentry, int datasync)
return (error);
}
+#ifdef HAVE_FILE_AIO_FSYNC
static int
zpl_aio_fsync(struct kiocb *kiocb, int datasync)
{
struct file *filp = kiocb->ki_filp;
return (zpl_fsync(filp, file_dentry(filp), datasync));
}
+#endif
+
#elif defined(HAVE_FSYNC_WITHOUT_DENTRY)
/*
* Linux 2.6.35 - 3.0 API,
@@ -161,11 +164,14 @@ zpl_fsync(struct file *filp, int datasync)
return (error);
}
+#ifdef HAVE_FILE_AIO_FSYNC
static int
zpl_aio_fsync(struct kiocb *kiocb, int datasync)
{
return (zpl_fsync(kiocb->ki_filp, datasync));
}
+#endif
+
#elif defined(HAVE_FSYNC_RANGE)
/*
* Linux 3.1 - 3.x API,
@@ -196,11 +202,14 @@ zpl_fsync(struct file *filp, loff_t start, loff_t end, int datasync)
return (error);
}
+#ifdef HAVE_FILE_AIO_FSYNC
static int
zpl_aio_fsync(struct kiocb *kiocb, int datasync)
{
return (zpl_fsync(kiocb->ki_filp, kiocb->ki_pos, -1, datasync));
}
+#endif
+
#else
#error "Unsupported fops->fsync() implementation"
#endif
@@ -838,7 +847,9 @@ const struct file_operations zpl_file_operations = {
#endif
.mmap = zpl_mmap,
.fsync = zpl_fsync,
+#ifdef HAVE_FILE_AIO_FSYNC
.aio_fsync = zpl_aio_fsync,
+#endif
#ifdef HAVE_FILE_FALLOCATE
.fallocate = zpl_fallocate,
#endif /* HAVE_FILE_FALLOCATE */