Skip to content

Commit 3f95f30

Browse files
committed
Linux 5.11 compat: blk_{un}register_region()
As of 5.11 the blk_register_region() and blk_unregister_region() functions have been retired. This isn't a problem since add_disk() has implicitly allocated minor numbers for a very long time. Signed-off-by: Brian Behlendorf <[email protected]>
1 parent 99d7666 commit 3f95f30

File tree

4 files changed

+0
-78
lines changed

4 files changed

+0
-78
lines changed

config/kernel-get-disk-and-module.m4

Lines changed: 0 additions & 24 deletions
This file was deleted.

config/kernel.m4

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [
6161
ZFS_AC_KERNEL_SRC_BIO
6262
ZFS_AC_KERNEL_SRC_BLKDEV
6363
ZFS_AC_KERNEL_SRC_BLK_QUEUE
64-
ZFS_AC_KERNEL_SRC_GET_DISK_AND_MODULE
6564
ZFS_AC_KERNEL_SRC_REVALIDATE_DISK
6665
ZFS_AC_KERNEL_SRC_GET_DISK_RO
6766
ZFS_AC_KERNEL_SRC_GENERIC_READLINK_GLOBAL
@@ -160,7 +159,6 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [
160159
ZFS_AC_KERNEL_BIO
161160
ZFS_AC_KERNEL_BLKDEV
162161
ZFS_AC_KERNEL_BLK_QUEUE
163-
ZFS_AC_KERNEL_GET_DISK_AND_MODULE
164162
ZFS_AC_KERNEL_REVALIDATE_DISK
165163
ZFS_AC_KERNEL_GET_DISK_RO
166164
ZFS_AC_KERNEL_GENERIC_READLINK_GLOBAL

include/os/linux/kernel/linux/blkdev_compat.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,6 @@ blk_queue_set_read_ahead(struct request_queue *q, unsigned long ra_pages)
9999
#endif
100100
}
101101

102-
#if !defined(HAVE_GET_DISK_AND_MODULE)
103-
static inline struct kobject *
104-
get_disk_and_module(struct gendisk *disk)
105-
{
106-
return (get_disk(disk));
107-
}
108-
#endif
109-
110102
#ifdef HAVE_BIO_BVEC_ITER
111103
#define BIO_BI_SECTOR(bio) (bio)->bi_iter.bi_sector
112104
#define BIO_BI_SIZE(bio) (bio)->bi_iter.bi_size

module/os/linux/zfs/zvol_os.c

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -708,46 +708,6 @@ zvol_getgeo(struct block_device *bdev, struct hd_geometry *geo)
708708
return (0);
709709
}
710710

711-
/*
712-
* Find a zvol_state_t given the full major+minor dev_t. If found,
713-
* return with zv_state_lock taken, otherwise, return (NULL) without
714-
* taking zv_state_lock.
715-
*/
716-
static zvol_state_t *
717-
zvol_find_by_dev(dev_t dev)
718-
{
719-
zvol_state_t *zv;
720-
721-
rw_enter(&zvol_state_lock, RW_READER);
722-
for (zv = list_head(&zvol_state_list); zv != NULL;
723-
zv = list_next(&zvol_state_list, zv)) {
724-
mutex_enter(&zv->zv_state_lock);
725-
if (zv->zv_zso->zvo_dev == dev) {
726-
rw_exit(&zvol_state_lock);
727-
return (zv);
728-
}
729-
mutex_exit(&zv->zv_state_lock);
730-
}
731-
rw_exit(&zvol_state_lock);
732-
733-
return (NULL);
734-
}
735-
736-
static struct kobject *
737-
zvol_probe(dev_t dev, int *part, void *arg)
738-
{
739-
zvol_state_t *zv;
740-
struct kobject *kobj;
741-
742-
zv = zvol_find_by_dev(dev);
743-
kobj = zv ? get_disk_and_module(zv->zv_zso->zvo_disk) : NULL;
744-
ASSERT(zv == NULL || MUTEX_HELD(&zv->zv_state_lock));
745-
if (zv)
746-
mutex_exit(&zv->zv_state_lock);
747-
748-
return (kobj);
749-
}
750-
751711
static struct block_device_operations zvol_ops = {
752712
.open = zvol_open,
753713
.release = zvol_release,
@@ -1100,9 +1060,6 @@ zvol_init(void)
11001060
return (-ENOMEM);
11011061
}
11021062
zvol_init_impl();
1103-
blk_register_region(MKDEV(zvol_major, 0), 1UL << MINORBITS,
1104-
THIS_MODULE, zvol_probe, NULL, NULL);
1105-
11061063
ida_init(&zvol_ida);
11071064
zvol_register_ops(&zvol_linux_ops);
11081065
return (0);
@@ -1112,7 +1069,6 @@ void
11121069
zvol_fini(void)
11131070
{
11141071
zvol_fini_impl();
1115-
blk_unregister_region(MKDEV(zvol_major, 0), 1UL << MINORBITS);
11161072
unregister_blkdev(zvol_major, ZVOL_DRIVER);
11171073
taskq_destroy(zvol_taskq);
11181074
ida_destroy(&zvol_ida);

0 commit comments

Comments
 (0)