]> git.proxmox.com Git - mirror_zfs.git/blobdiff - module/zfs/zpl_file.c
Kernel 4.9 compat: file_operations->aio_fsync removal
[mirror_zfs.git] / module / zfs / zpl_file.c
index 2c84d700d6d1e636a633dcaf094dfe20906af92e..a225220285af2b1c454478bcb5e72d1da2556ad9 100644 (file)
@@ -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 */