mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	Linux 6.11: get backing_dev_info through queue gendisk
It's no longer available directly on the request queue, but its easy to get from the attached disk. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Rob Norris <robn@despairlabs.com> Sponsored-by: https://despairlabs.com/sponsor/ Closes #16400
This commit is contained in:
		
							parent
							
								
									4fa84563b8
								
							
						
					
					
						commit
						92a8af0f8b
					
				| @ -25,6 +25,8 @@ AC_DEFUN([ZFS_AC_KERNEL_BLK_QUEUE_PLUG], [ | ||||
| dnl # | ||||
| dnl # 2.6.32 - 4.11: statically allocated bdi in request_queue | ||||
| dnl # 4.12: dynamically allocated bdi in request_queue | ||||
| dnl # 6.11: bdi no longer available through request_queue, so get it from | ||||
| dnl #       the gendisk attached to the queue | ||||
| dnl # | ||||
| AC_DEFUN([ZFS_AC_KERNEL_SRC_BLK_QUEUE_BDI], [ | ||||
| 	ZFS_LINUX_TEST_SRC([blk_queue_bdi], [ | ||||
| @ -47,6 +49,30 @@ AC_DEFUN([ZFS_AC_KERNEL_BLK_QUEUE_BDI], [ | ||||
| 	]) | ||||
| ]) | ||||
| 
 | ||||
| AC_DEFUN([ZFS_AC_KERNEL_SRC_BLK_QUEUE_DISK_BDI], [ | ||||
| 	ZFS_LINUX_TEST_SRC([blk_queue_disk_bdi], [ | ||||
| 		#include <linux/blkdev.h> | ||||
| 		#include <linux/backing-dev.h> | ||||
| 	], [ | ||||
| 		struct request_queue q; | ||||
| 		struct gendisk disk; | ||||
| 		struct backing_dev_info bdi __attribute__ ((unused)); | ||||
| 		q.disk = &disk; | ||||
| 		q.disk->bdi = &bdi; | ||||
| 	]) | ||||
| ]) | ||||
| 
 | ||||
| AC_DEFUN([ZFS_AC_KERNEL_BLK_QUEUE_DISK_BDI], [ | ||||
| 	AC_MSG_CHECKING([whether backing_dev_info is available through queue gendisk]) | ||||
| 	ZFS_LINUX_TEST_RESULT([blk_queue_disk_bdi], [ | ||||
| 		AC_MSG_RESULT(yes) | ||||
| 		AC_DEFINE(HAVE_BLK_QUEUE_DISK_BDI, 1, | ||||
| 		    [backing_dev_info is available through queue gendisk]) | ||||
| 	],[ | ||||
| 		AC_MSG_RESULT(no) | ||||
| 	]) | ||||
| ]) | ||||
| 
 | ||||
| dnl # | ||||
| dnl # 5.9: added blk_queue_update_readahead(), | ||||
| dnl # 5.15: renamed to disk_update_readahead() | ||||
| @ -407,6 +433,7 @@ AC_DEFUN([ZFS_AC_KERNEL_BLK_MQ], [ | ||||
| AC_DEFUN([ZFS_AC_KERNEL_SRC_BLK_QUEUE], [ | ||||
| 	ZFS_AC_KERNEL_SRC_BLK_QUEUE_PLUG | ||||
| 	ZFS_AC_KERNEL_SRC_BLK_QUEUE_BDI | ||||
| 	ZFS_AC_KERNEL_SRC_BLK_QUEUE_DISK_BDI | ||||
| 	ZFS_AC_KERNEL_SRC_BLK_QUEUE_UPDATE_READAHEAD | ||||
| 	ZFS_AC_KERNEL_SRC_BLK_QUEUE_DISCARD | ||||
| 	ZFS_AC_KERNEL_SRC_BLK_QUEUE_SECURE_ERASE | ||||
| @ -421,6 +448,7 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_BLK_QUEUE], [ | ||||
| AC_DEFUN([ZFS_AC_KERNEL_BLK_QUEUE], [ | ||||
| 	ZFS_AC_KERNEL_BLK_QUEUE_PLUG | ||||
| 	ZFS_AC_KERNEL_BLK_QUEUE_BDI | ||||
| 	ZFS_AC_KERNEL_BLK_QUEUE_DISK_BDI | ||||
| 	ZFS_AC_KERNEL_BLK_QUEUE_UPDATE_READAHEAD | ||||
| 	ZFS_AC_KERNEL_BLK_QUEUE_DISCARD | ||||
| 	ZFS_AC_KERNEL_BLK_QUEUE_SECURE_ERASE | ||||
|  | ||||
| @ -106,8 +106,10 @@ blk_queue_set_read_ahead(struct request_queue *q, unsigned long ra_pages) | ||||
| { | ||||
| #if !defined(HAVE_BLK_QUEUE_UPDATE_READAHEAD) && \ | ||||
| 	!defined(HAVE_DISK_UPDATE_READAHEAD) | ||||
| #ifdef HAVE_BLK_QUEUE_BDI_DYNAMIC | ||||
| #if defined(HAVE_BLK_QUEUE_BDI_DYNAMIC) | ||||
| 	q->backing_dev_info->ra_pages = ra_pages; | ||||
| #elif defined(HAVE_BLK_QUEUE_DISK_BDI) | ||||
| 	q->disk->bdi->ra_pages = ra_pages; | ||||
| #else | ||||
| 	q->backing_dev_info.ra_pages = ra_pages; | ||||
| #endif | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Rob Norris
						Rob Norris