Re: [resend v1 5/5] drivers/scsi/sd.c: Convert to use disk_set_capacity

From: Singh, Balbir
Date: Tue Jan 07 2020 - 17:28:45 EST


On Mon, 2020-01-06 at 22:48 -0500, Martin K. Petersen wrote:
> Balbir,
>
> > diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
> > index 5afb0046b12a..1a3be30b6b78 100644
> > --- a/drivers/scsi/sd.c
> > +++ b/drivers/scsi/sd.c
> > @@ -3184,7 +3184,7 @@ static int sd_revalidate_disk(struct gendisk *disk)
> >
> > sdkp->first_scan = 0;
> >
> > - set_capacity(disk, logical_to_sectors(sdp, sdkp->capacity));
> > + disk_set_capacity(disk, logical_to_sectors(sdp, sdkp->capacity));
> > sd_config_write_same(sdkp);
> > kfree(buffer);
>
> We already emit an SDEV_EVT_CAPACITY_CHANGE_REPORTED event if device
> capacity changes. However, this event does not automatically cause
> revalidation.
>

The proposed idea is to not reinforce revalidation, unless explictly specified
(in the thread before Bob Liu had suggestions). The goal is to notify user
space of changes via RESIZE. SCSI sd can opt out of this IOW, I can remove
this if you feel SDEV_EVT_CAPACITY_CHANGE_REPORTED is sufficient for current
use cases.

Balbir Singh.