mirror of
				https://git.proxmox.com/git/mirror_zfs
				synced 2025-11-03 23:46:39 +00:00 
			
		
		
		
	Linux 6.5 compat: disk_check_media_change() was added
The disk_check_media_change() function was added which replaces bdev_check_media_change. This change was introduced in 6.5rc1 444aa2c58cb3b6cfe3b7cc7db6c294d73393a894 and the new function takes a gendisk* as its argument, no longer a block_device*. Thus, bdev->bd_disk is now used to pass the expected data. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Coleman Kane <ckane@colemankane.org> Closes #15060
This commit is contained in:
		
							parent
							
								
									8beabfd3bf
								
							
						
					
					
						commit
						74f8ce4ca5
					
				@ -103,6 +103,33 @@ AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_CHECK_DISK_CHANGE], [
 | 
			
		||||
	])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl #
 | 
			
		||||
dnl # 6.5.x API change
 | 
			
		||||
dnl # disk_check_media_change() was added
 | 
			
		||||
dnl #
 | 
			
		||||
AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_DISK_CHECK_MEDIA_CHANGE], [
 | 
			
		||||
	ZFS_LINUX_TEST_SRC([disk_check_media_change], [
 | 
			
		||||
		#include <linux/fs.h>
 | 
			
		||||
		#include <linux/blkdev.h>
 | 
			
		||||
	], [
 | 
			
		||||
		struct block_device *bdev = NULL;
 | 
			
		||||
		bool error;
 | 
			
		||||
 | 
			
		||||
		error = disk_check_media_change(bdev->bd_disk);
 | 
			
		||||
	])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_DISK_CHECK_MEDIA_CHANGE], [
 | 
			
		||||
	AC_MSG_CHECKING([whether disk_check_media_change() exists])
 | 
			
		||||
	ZFS_LINUX_TEST_RESULT([disk_check_media_change], [
 | 
			
		||||
		AC_MSG_RESULT(yes)
 | 
			
		||||
		AC_DEFINE(HAVE_DISK_CHECK_MEDIA_CHANGE, 1,
 | 
			
		||||
		    [disk_check_media_change() exists])
 | 
			
		||||
	], [
 | 
			
		||||
		AC_MSG_RESULT(no)
 | 
			
		||||
	])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl #
 | 
			
		||||
dnl # bdev_kobj() is introduced from 5.12
 | 
			
		||||
dnl #
 | 
			
		||||
@ -481,6 +508,7 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV], [
 | 
			
		||||
	ZFS_AC_KERNEL_SRC_BLKDEV_ISSUE_SECURE_ERASE
 | 
			
		||||
	ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_KOBJ
 | 
			
		||||
	ZFS_AC_KERNEL_SRC_BLKDEV_PART_TO_DEV
 | 
			
		||||
	ZFS_AC_KERNEL_SRC_BLKDEV_DISK_CHECK_MEDIA_CHANGE
 | 
			
		||||
	ZFS_AC_KERNEL_SRC_BLKDEV_BLK_STS_RESV_CONFLICT
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
@ -500,5 +528,6 @@ AC_DEFUN([ZFS_AC_KERNEL_BLKDEV], [
 | 
			
		||||
	ZFS_AC_KERNEL_BLKDEV_ISSUE_SECURE_ERASE
 | 
			
		||||
	ZFS_AC_KERNEL_BLKDEV_BDEV_KOBJ
 | 
			
		||||
	ZFS_AC_KERNEL_BLKDEV_PART_TO_DEV
 | 
			
		||||
	ZFS_AC_KERNEL_BLKDEV_DISK_CHECK_MEDIA_CHANGE
 | 
			
		||||
	ZFS_AC_KERNEL_BLKDEV_BLK_STS_RESV_CONFLICT
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
@ -345,6 +345,8 @@ zfs_check_media_change(struct block_device *bdev)
 | 
			
		||||
	return (0);
 | 
			
		||||
}
 | 
			
		||||
#define	vdev_bdev_reread_part(bdev)	zfs_check_media_change(bdev)
 | 
			
		||||
#elif defined(HAVE_DISK_CHECK_MEDIA_CHANGE)
 | 
			
		||||
#define	vdev_bdev_reread_part(bdev)	disk_check_media_change(bdev->bd_disk)
 | 
			
		||||
#else
 | 
			
		||||
/*
 | 
			
		||||
 * This is encountered if check_disk_change() and bdev_check_media_change()
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user