diff options
Diffstat (limited to 'sys-fs/zfs-utils/files/1c24bf966c373009f2be77438e8696aabf50a7e7.diff')
-rw-r--r-- | sys-fs/zfs-utils/files/1c24bf966c373009f2be77438e8696aabf50a7e7.diff | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/sys-fs/zfs-utils/files/1c24bf966c373009f2be77438e8696aabf50a7e7.diff b/sys-fs/zfs-utils/files/1c24bf966c373009f2be77438e8696aabf50a7e7.diff deleted file mode 100644 index e53bfb1c..00000000 --- a/sys-fs/zfs-utils/files/1c24bf966c373009f2be77438e8696aabf50a7e7.diff +++ /dev/null @@ -1,84 +0,0 @@ -diff --git a/config/kernel-vfs-set_page_dirty.m4 b/config/kernel-vfs-set_page_dirty.m4 -new file mode 100644 -index 00000000000..a9d252e4e01 ---- /dev/null -+++ b/config/kernel-vfs-set_page_dirty.m4 -@@ -0,0 +1,34 @@ -+dnl # -+dnl # Linux 5.14 adds a change to require set_page_dirty to be manually -+dnl # wired up in struct address_space_operations. Determine if this needs -+dnl # to be done. This patch set also introduced __set_page_dirty_nobuffers -+dnl # declaration in linux/pagemap.h, so these tests look for the presence -+dnl # of that function to tell the compiler to assign set_page_dirty in -+dnl # module/os/linux/zfs/zpl_file.c -+dnl # -+AC_DEFUN([ZFS_AC_KERNEL_SRC_VFS_SET_PAGE_DIRTY_NOBUFFERS], [ -+ ZFS_LINUX_TEST_SRC([vfs_has_set_page_dirty_nobuffers], [ -+ #include <linux/pagemap.h> -+ #include <linux/fs.h> -+ -+ static const struct address_space_operations -+ aops __attribute__ ((unused)) = { -+ .set_page_dirty = __set_page_dirty_nobuffers, -+ }; -+ ],[]) -+]) -+ -+AC_DEFUN([ZFS_AC_KERNEL_VFS_SET_PAGE_DIRTY_NOBUFFERS], [ -+ dnl # -+ dnl # Linux 5.14 change requires set_page_dirty() to be assigned -+ dnl # in address_space_operations() -+ dnl # -+ AC_MSG_CHECKING([__set_page_dirty_nobuffers exists]) -+ ZFS_LINUX_TEST_RESULT([vfs_has_set_page_dirty_nobuffers], [ -+ AC_MSG_RESULT([yes]) -+ AC_DEFINE(HAVE_VFS_SET_PAGE_DIRTY_NOBUFFERS, 1, -+ [__set_page_dirty_nobuffers exists]) -+ ],[ -+ AC_MSG_RESULT([no]) -+ ]) -+]) -diff --git a/config/kernel.m4 b/config/kernel.m4 -index 7196e66ca28..5ea2286dbcc 100644 ---- a/config/kernel.m4 -+++ b/config/kernel.m4 -@@ -132,6 +132,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [ - ZFS_AC_KERNEL_SRC_SIGNAL_STOP - ZFS_AC_KERNEL_SRC_SIGINFO - ZFS_AC_KERNEL_SRC_SET_SPECIAL_STATE -+ ZFS_AC_KERNEL_SRC_VFS_SET_PAGE_DIRTY_NOBUFFERS - - AC_MSG_CHECKING([for available kernel interfaces]) - ZFS_LINUX_TEST_COMPILE_ALL([kabi]) -@@ -237,6 +238,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [ - ZFS_AC_KERNEL_SIGNAL_STOP - ZFS_AC_KERNEL_SIGINFO - ZFS_AC_KERNEL_SET_SPECIAL_STATE -+ ZFS_AC_KERNEL_VFS_SET_PAGE_DIRTY_NOBUFFERS - ]) - - dnl # -diff --git a/module/os/linux/zfs/zpl_file.c b/module/os/linux/zfs/zpl_file.c -index 0319148b983..63002fe3b93 100644 ---- a/module/os/linux/zfs/zpl_file.c -+++ b/module/os/linux/zfs/zpl_file.c -@@ -33,6 +33,9 @@ - #include <sys/zfs_vfsops.h> - #include <sys/zfs_vnops.h> - #include <sys/zfs_project.h> -+#ifdef HAVE_VFS_SET_PAGE_DIRTY_NOBUFFERS -+#include <linux/pagemap.h> -+#endif - - /* - * When using fallocate(2) to preallocate space, inflate the requested -@@ -1018,6 +1021,9 @@ const struct address_space_operations zpl_address_space_operations = { - .writepage = zpl_writepage, - .writepages = zpl_writepages, - .direct_IO = zpl_direct_IO, -+#ifdef HAVE_VFS_SET_PAGE_DIRTY_NOBUFFERS -+ .set_page_dirty = __set_page_dirty_nobuffers, -+#endif - }; - - const struct file_operations zpl_file_operations = { |