xsysace: use bdev_check_media_change
authorChristoph Hellwig <hch@lst.de>
Tue, 8 Sep 2020 14:53:36 +0000 (16:53 +0200)
committerJens Axboe <axboe@kernel.dk>
Thu, 10 Sep 2020 15:32:31 +0000 (09:32 -0600)
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 <hch@lst.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/xsysace.c

index 5d8e0ab..eefe542 100644 (file)
@@ -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,
 };