Message ID | 20200902141218.212614-17-hch@lst.de |
---|---|
State | Superseded |
Headers | show |
Series | [01/19] block: add a bdev_check_media_change helper | expand |
On 02/09/2020 16:21, Christoph Hellwig wrote: > call cd_revalidate_disk manually. As sd also calls sd_revalidate_disk ^~ sd_revalidate_disk Otherwise, Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
On 9/2/20 5:12 PM, Christoph Hellwig wrote: > Switch to use bdev_check_media_change instead of check_disk_change and > call cd_revalidate_disk manually. As sd also calls sd_revalidate_disk s/cd/sd/? > manually during probe and open, , 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> > --- > drivers/scsi/sd.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c > index 2bec8cd526164d..d020639c28c6ca 100644 > --- a/drivers/scsi/sd.c > +++ b/drivers/scsi/sd.c > @@ -1381,8 +1381,10 @@ static int sd_open(struct block_device *bdev, fmode_t mode) > if (!scsi_block_when_processing_errors(sdev)) > goto error_out; > > - if (sdev->removable || sdkp->write_prot) > - check_disk_change(bdev); > + if (sdev->removable || sdkp->write_prot) { > + if (bdev_check_media_change(bdev)) > + sd_revalidate_disk(bdev->bd_disk); > + } > > /* > * If the drive is empty, just let the open fail. [...] MBR, Sergei
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 2bec8cd526164d..d020639c28c6ca 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -1381,8 +1381,10 @@ static int sd_open(struct block_device *bdev, fmode_t mode) if (!scsi_block_when_processing_errors(sdev)) goto error_out; - if (sdev->removable || sdkp->write_prot) - check_disk_change(bdev); + if (sdev->removable || sdkp->write_prot) { + if (bdev_check_media_change(bdev)) + sd_revalidate_disk(bdev->bd_disk); + } /* * If the drive is empty, just let the open fail. @@ -1843,7 +1845,6 @@ static const struct block_device_operations sd_fops = { .compat_ioctl = sd_compat_ioctl, #endif .check_events = sd_check_events, - .revalidate_disk = sd_revalidate_disk, .unlock_native_capacity = sd_unlock_native_capacity, .report_zones = sd_zbc_report_zones, .pr_ops = &sd_pr_ops,
Switch to use bdev_check_media_change instead of check_disk_change and call cd_revalidate_disk manually. As sd also calls sd_revalidate_disk manually during probe and open, , 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> --- drivers/scsi/sd.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)