Switch to use bdev_check_media_change instead of check_disk_change and
call ace_revalidate_disk manually.  Given that ace_revalidate_disk only
deals with media change events, the extra call into ->revalidate_disk
from bdev_disk_changed is not required either, so stop wiring up the
method.

Signed-off-by: Christoph Hellwig <h...@lst.de>
---
 drivers/block/xsysace.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/block/xsysace.c b/drivers/block/xsysace.c
index 5d8e0ab3f054f5..eefe542f2d9fff 100644
--- a/drivers/block/xsysace.c
+++ b/drivers/block/xsysace.c
@@ -922,7 +922,8 @@ static int ace_open(struct block_device *bdev, fmode_t mode)
        ace->users++;
        spin_unlock_irqrestore(&ace->lock, flags);
 
-       check_disk_change(bdev);
+       if (bdev_check_media_change(bdev))
+               ace_revalidate_disk(bdev->bd_disk);
        mutex_unlock(&xsysace_mutex);
 
        return 0;
@@ -966,7 +967,6 @@ static const struct block_device_operations ace_fops = {
        .open = ace_open,
        .release = ace_release,
        .check_events = ace_check_events,
-       .revalidate_disk = ace_revalidate_disk,
        .getgeo = ace_getgeo,
 };
 
-- 
2.28.0

Reply via email to