Linux 5.11 compat: revalidate_disk_size()
Both revalidate_disk_size() and revalidate_disk() have been removed. Functionally this isn't a problem because we only relied on these functions to call zvol_revalidate_disk() for us and to perform any additional handling which might be needed for that kernel version. When neither are available we know there's no additional handling needed and we can directly call zvol_revalidate_disk(). Reviewed-by: Rafael Kitover <rkitover@gmail.com> Reviewed-by: Coleman Kane <ckane@colemankane.org> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #11387 Closes #11390
This commit is contained in:
parent
72ba4b2a4c
commit
19697e4545
|
@ -1,24 +1,46 @@
|
|||
dnl #
|
||||
dnl # 5.11 API change
|
||||
dnl # revalidate_disk_size() has been removed entirely.
|
||||
dnl #
|
||||
dnl # 5.10 API change
|
||||
dnl # revalidate_disk() was replaced by revalidate_disk_size()
|
||||
dnl #
|
||||
AC_DEFUN([ZFS_AC_KERNEL_SRC_REVALIDATE_DISK_SIZE], [
|
||||
AC_DEFUN([ZFS_AC_KERNEL_SRC_REVALIDATE_DISK], [
|
||||
|
||||
ZFS_LINUX_TEST_SRC([revalidate_disk_size], [
|
||||
#include <linux/genhd.h>
|
||||
], [
|
||||
struct gendisk *disk = NULL;
|
||||
(void) revalidate_disk_size(disk, false);
|
||||
])
|
||||
|
||||
ZFS_LINUX_TEST_SRC([revalidate_disk], [
|
||||
#include <linux/genhd.h>
|
||||
], [
|
||||
struct gendisk *disk = NULL;
|
||||
(void) revalidate_disk(disk);
|
||||
])
|
||||
])
|
||||
|
||||
AC_DEFUN([ZFS_AC_KERNEL_REVALIDATE_DISK_SIZE], [
|
||||
AC_DEFUN([ZFS_AC_KERNEL_REVALIDATE_DISK], [
|
||||
|
||||
AC_MSG_CHECKING([whether revalidate_disk_size() is available])
|
||||
ZFS_LINUX_TEST_RESULT_SYMBOL([revalidate_disk_size],
|
||||
[revalidate_disk_size], [block/genhd.c], [
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_REVALIDATE_DISK_SIZE, 1,
|
||||
[revalidate_disk_size() is available])
|
||||
[revalidate_disk_size() is available])
|
||||
], [
|
||||
AC_MSG_RESULT(no)
|
||||
|
||||
AC_MSG_CHECKING([whether revalidate_disk() is available])
|
||||
ZFS_LINUX_TEST_RESULT_SYMBOL([revalidate_disk],
|
||||
[revalidate_disk], [block/genhd.c], [
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_REVALIDATE_DISK, 1,
|
||||
[revalidate_disk() is available])
|
||||
], [
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
])
|
||||
])
|
||||
|
|
|
@ -62,7 +62,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [
|
|||
ZFS_AC_KERNEL_SRC_BLKDEV
|
||||
ZFS_AC_KERNEL_SRC_BLK_QUEUE
|
||||
ZFS_AC_KERNEL_SRC_GET_DISK_AND_MODULE
|
||||
ZFS_AC_KERNEL_SRC_REVALIDATE_DISK_SIZE
|
||||
ZFS_AC_KERNEL_SRC_REVALIDATE_DISK
|
||||
ZFS_AC_KERNEL_SRC_GET_DISK_RO
|
||||
ZFS_AC_KERNEL_SRC_GENERIC_READLINK_GLOBAL
|
||||
ZFS_AC_KERNEL_SRC_DISCARD_GRANULARITY
|
||||
|
@ -161,7 +161,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [
|
|||
ZFS_AC_KERNEL_BLKDEV
|
||||
ZFS_AC_KERNEL_BLK_QUEUE
|
||||
ZFS_AC_KERNEL_GET_DISK_AND_MODULE
|
||||
ZFS_AC_KERNEL_REVALIDATE_DISK_SIZE
|
||||
ZFS_AC_KERNEL_REVALIDATE_DISK
|
||||
ZFS_AC_KERNEL_GET_DISK_RO
|
||||
ZFS_AC_KERNEL_GENERIC_READLINK_GLOBAL
|
||||
ZFS_AC_KERNEL_DISCARD_GRANULARITY
|
||||
|
|
|
@ -658,10 +658,12 @@ zvol_update_volsize(zvol_state_t *zv, uint64_t volsize)
|
|||
{
|
||||
struct gendisk *disk = zv->zv_zso->zvo_disk;
|
||||
|
||||
#ifdef HAVE_REVALIDATE_DISK_SIZE
|
||||
#if defined(HAVE_REVALIDATE_DISK_SIZE)
|
||||
revalidate_disk_size(disk, zvol_revalidate_disk(disk) == 0);
|
||||
#else
|
||||
#elif defined(HAVE_REVALIDATE_DISK)
|
||||
revalidate_disk(disk);
|
||||
#else
|
||||
zvol_revalidate_disk(disk);
|
||||
#endif
|
||||
return (0);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue