mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +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_READ_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_READPAGES
 | 
			
		||||
	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_READ_FOLIO
 | 
			
		||||
	ZFS_AC_KERNEL_VFS_MIGRATE_FOLIO
 | 
			
		||||
	ZFS_AC_KERNEL_VFS_MIGRATEPAGE
 | 
			
		||||
	ZFS_AC_KERNEL_VFS_FSYNC_2ARGS
 | 
			
		||||
	ZFS_AC_KERNEL_VFS_READPAGES
 | 
			
		||||
	ZFS_AC_KERNEL_VFS_SET_PAGE_DIRTY_NOBUFFERS
 | 
			
		||||
 | 
			
		||||
@ -1058,7 +1058,7 @@ const struct address_space_operations zpl_address_space_operations = {
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef HAVE_VFS_MIGRATE_FOLIO
 | 
			
		||||
	.migrate_folio	= migrate_folio,
 | 
			
		||||
#else
 | 
			
		||||
#elif defined(HAVE_VFS_MIGRATEPAGE)
 | 
			
		||||
	.migratepage	= migrate_page,
 | 
			
		||||
#endif
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user