mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03: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
							
								
									f52d9b6f42
								
							
						
					
					
						commit
						e45ca514e8
					
				| @ -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 # | ||||||
| dnl # bdev_kobj() is introduced from 5.12 | dnl # bdev_kobj() is introduced from 5.12 | ||||||
| dnl # | 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_ISSUE_SECURE_ERASE | ||||||
| 	ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_KOBJ | 	ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_KOBJ | ||||||
| 	ZFS_AC_KERNEL_SRC_BLKDEV_PART_TO_DEV | 	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 | 	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_ISSUE_SECURE_ERASE | ||||||
| 	ZFS_AC_KERNEL_BLKDEV_BDEV_KOBJ | 	ZFS_AC_KERNEL_BLKDEV_BDEV_KOBJ | ||||||
| 	ZFS_AC_KERNEL_BLKDEV_PART_TO_DEV | 	ZFS_AC_KERNEL_BLKDEV_PART_TO_DEV | ||||||
|  | 	ZFS_AC_KERNEL_BLKDEV_DISK_CHECK_MEDIA_CHANGE | ||||||
| 	ZFS_AC_KERNEL_BLKDEV_BLK_STS_RESV_CONFLICT | 	ZFS_AC_KERNEL_BLKDEV_BLK_STS_RESV_CONFLICT | ||||||
| ]) | ]) | ||||||
|  | |||||||
| @ -334,6 +334,8 @@ zfs_check_media_change(struct block_device *bdev) | |||||||
| 	return (0); | 	return (0); | ||||||
| } | } | ||||||
| #define	vdev_bdev_reread_part(bdev)	zfs_check_media_change(bdev) | #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 | #else | ||||||
| /*
 | /*
 | ||||||
|  * This is encountered if check_disk_change() and bdev_check_media_change() |  * This is encountered if check_disk_change() and bdev_check_media_change() | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Coleman Kane
						Coleman Kane