diff options
author | Jonathon Fernyhough <[email protected]> | 2021-06-02 00:00:45 +0000 |
---|---|---|
committer | Tony Hutter <[email protected]> | 2021-06-23 13:22:15 -0700 |
commit | d014da0032f17bb7e4594e0cac0e744da030c45f (patch) | |
tree | 4f9cef17f877ac261a68393ae70fbdd3c1ef8bef /include/os/linux | |
parent | 8f93ab53d45aa8e79c7c43644073d5068e5de8b1 (diff) |
linux 5.13 compat: bdevops->revalidate_disk() removed (#12122)
Linux kernel commit 0f00b82e5413571ed225ddbccad6882d7ea60bc7 removes the
revalidate_disk() handler from struct block_device_operations. This
caused a regression, and this commit eliminates the call to it and the
assignment in the block_device_operations static handler assignment
code, when configure identifies that the kernel doesn't support that
API handler.
Reviewed-by: Colin Ian King <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Coleman Kane <[email protected]>
Closes #11967
Closes #11977
(cherry picked from commit 48c7b0e444591ca5e0199e266e79ecff53e81ee6)
Signed-off-by: Jonathon Fernyhough <[email protected]>
Co-authored-by: Coleman Kane <[email protected]>
Diffstat (limited to 'include/os/linux')
-rw-r--r-- | include/os/linux/kernel/linux/blkdev_compat.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/os/linux/kernel/linux/blkdev_compat.h b/include/os/linux/kernel/linux/blkdev_compat.h index ee066537b..bdf20a762 100644 --- a/include/os/linux/kernel/linux/blkdev_compat.h +++ b/include/os/linux/kernel/linux/blkdev_compat.h @@ -277,18 +277,22 @@ bio_set_bi_error(struct bio *bio, int error) static inline int zfs_check_media_change(struct block_device *bdev) { +#ifdef HAVE_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK struct gendisk *gd = bdev->bd_disk; const struct block_device_operations *bdo = gd->fops; +#endif if (!bdev_check_media_change(bdev)) return (0); +#ifdef HAVE_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK /* * Force revalidation, to mimic the old behavior of * check_disk_change() */ if (bdo->revalidate_disk) bdo->revalidate_disk(gd); +#endif return (0); } |