mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-05-25 07:54:57 +03:00
Linux 6.0 compat: Check for migratepage VFS (#17217)
The 6.0 kernel removes the 'migratepage' VFS op. Check for migratepage. Signed-off-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Rob Norris <robn@despairlabs.com> Reviewed-by: Alexander Motin <mav@FreeBSD.org
This commit is contained in:
parent
a497c5fc8b
commit
ab9bb193f9
27
config/kernel-vfs-migratepage.m4
Normal file
27
config/kernel-vfs-migratepage.m4
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
dnl #
|
||||||
|
dnl # Linux 6.0 gets rid of address_space_operations.migratepage
|
||||||
|
dnl #
|
||||||
|
AC_DEFUN([ZFS_AC_KERNEL_SRC_VFS_MIGRATEPAGE], [
|
||||||
|
ZFS_LINUX_TEST_SRC([vfs_has_migratepage], [
|
||||||
|
#include <linux/fs.h>
|
||||||
|
#include <linux/migrate.h>
|
||||||
|
|
||||||
|
static const struct address_space_operations
|
||||||
|
aops __attribute__ ((unused)) = {
|
||||||
|
.migratepage = migrate_page,
|
||||||
|
};
|
||||||
|
],[])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([ZFS_AC_KERNEL_VFS_MIGRATEPAGE], [
|
||||||
|
dnl #
|
||||||
|
dnl # Linux 6.0 gets rid of address_space_operations.migratepage
|
||||||
|
dnl #
|
||||||
|
AC_MSG_CHECKING([whether migratepage exists])
|
||||||
|
ZFS_LINUX_TEST_RESULT([vfs_has_migratepage], [
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
AC_DEFINE(HAVE_VFS_MIGRATEPAGE, 1, [migratepage exists])
|
||||||
|
],[
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
])
|
||||||
|
])
|
@ -79,6 +79,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [
|
|||||||
ZFS_AC_KERNEL_SRC_VFS_FILEMAP_DIRTY_FOLIO
|
ZFS_AC_KERNEL_SRC_VFS_FILEMAP_DIRTY_FOLIO
|
||||||
ZFS_AC_KERNEL_SRC_VFS_READ_FOLIO
|
ZFS_AC_KERNEL_SRC_VFS_READ_FOLIO
|
||||||
ZFS_AC_KERNEL_SRC_VFS_MIGRATE_FOLIO
|
ZFS_AC_KERNEL_SRC_VFS_MIGRATE_FOLIO
|
||||||
|
ZFS_AC_KERNEL_SRC_VFS_MIGRATEPAGE
|
||||||
ZFS_AC_KERNEL_SRC_VFS_FSYNC_2ARGS
|
ZFS_AC_KERNEL_SRC_VFS_FSYNC_2ARGS
|
||||||
ZFS_AC_KERNEL_SRC_VFS_READPAGES
|
ZFS_AC_KERNEL_SRC_VFS_READPAGES
|
||||||
ZFS_AC_KERNEL_SRC_VFS_SET_PAGE_DIRTY_NOBUFFERS
|
ZFS_AC_KERNEL_SRC_VFS_SET_PAGE_DIRTY_NOBUFFERS
|
||||||
@ -191,6 +192,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [
|
|||||||
ZFS_AC_KERNEL_VFS_FILEMAP_DIRTY_FOLIO
|
ZFS_AC_KERNEL_VFS_FILEMAP_DIRTY_FOLIO
|
||||||
ZFS_AC_KERNEL_VFS_READ_FOLIO
|
ZFS_AC_KERNEL_VFS_READ_FOLIO
|
||||||
ZFS_AC_KERNEL_VFS_MIGRATE_FOLIO
|
ZFS_AC_KERNEL_VFS_MIGRATE_FOLIO
|
||||||
|
ZFS_AC_KERNEL_VFS_MIGRATEPAGE
|
||||||
ZFS_AC_KERNEL_VFS_FSYNC_2ARGS
|
ZFS_AC_KERNEL_VFS_FSYNC_2ARGS
|
||||||
ZFS_AC_KERNEL_VFS_READPAGES
|
ZFS_AC_KERNEL_VFS_READPAGES
|
||||||
ZFS_AC_KERNEL_VFS_SET_PAGE_DIRTY_NOBUFFERS
|
ZFS_AC_KERNEL_VFS_SET_PAGE_DIRTY_NOBUFFERS
|
||||||
|
@ -1058,7 +1058,7 @@ const struct address_space_operations zpl_address_space_operations = {
|
|||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_VFS_MIGRATE_FOLIO
|
#ifdef HAVE_VFS_MIGRATE_FOLIO
|
||||||
.migrate_folio = migrate_folio,
|
.migrate_folio = migrate_folio,
|
||||||
#else
|
#elif defined(HAVE_VFS_MIGRATEPAGE)
|
||||||
.migratepage = migrate_page,
|
.migratepage = migrate_page,
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user