diff options
author | DeHackEd <[email protected]> | 2016-11-15 12:20:46 -0500 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2016-11-15 09:20:46 -0800 |
commit | 7ca25051b6470e8471b4ed454d8c66ff21338de3 (patch) | |
tree | d29dbbf8ad51f7b86609e4d34cf0e334626543c1 /module | |
parent | 6146e17ebe48da1be8b4e2bf38c879273b7c34e5 (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.c | 11 |
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 */ |