Message ID | 20240529050507.1392041-4-hch@lst.de (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [01/12] ubd: untagle discard vs write zeroes not support handling | expand |
On 5/29/24 14:04, Christoph Hellwig wrote: > Don't reset the discard settings to no-op over and over when a user > writes to the provisioning attribute as that is already the default > mode for ZBC devices. In hindsight we should have made writing to > the attribute fail for ZBC devices, but the code has probably been > around for far too long to change this now. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > drivers/scsi/sd.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c > index 3dff9150ce11e2..15d0035048d902 100644 > --- a/drivers/scsi/sd.c > +++ b/drivers/scsi/sd.c > @@ -461,14 +461,13 @@ provisioning_mode_store(struct device *dev, struct device_attribute *attr, > if (!capable(CAP_SYS_ADMIN)) > return -EACCES; > > - if (sd_is_zoned(sdkp)) { > - sd_config_discard(sdkp, SD_LBP_DISABLE); > - return count; > - } > - > if (sdp->type != TYPE_DISK) > return -EINVAL; > > + /* ignore the proivisioning mode for ZBB devices */ s/proivisioning/provisioning s/ZBB/ZBC With that fixed, Reviewed-by: Damien Le Moal <dlemoal@kernel.org> > + if (sd_is_zoned(sdkp)) > + return count; > + > mode = sysfs_match_string(lbp_mode, buf); > if (mode < 0) > return -EINVAL;
On 5/28/24 22:04, Christoph Hellwig wrote: > Don't reset the discard settings to no-op over and over when a user > writes to the provisioning attribute as that is already the default > mode for ZBC devices. In hindsight we should have made writing to > the attribute fail for ZBC devices, but the code has probably been > around for far too long to change this now. If Damien's feedback gets addressed, feel free to add: Reviewed-by: Bart Van Assche <bvanassche@acm.org>
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 3dff9150ce11e2..15d0035048d902 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -461,14 +461,13 @@ provisioning_mode_store(struct device *dev, struct device_attribute *attr, if (!capable(CAP_SYS_ADMIN)) return -EACCES; - if (sd_is_zoned(sdkp)) { - sd_config_discard(sdkp, SD_LBP_DISABLE); - return count; - } - if (sdp->type != TYPE_DISK) return -EINVAL; + /* ignore the proivisioning mode for ZBB devices */ + if (sd_is_zoned(sdkp)) + return count; + mode = sysfs_match_string(lbp_mode, buf); if (mode < 0) return -EINVAL;
Don't reset the discard settings to no-op over and over when a user writes to the provisioning attribute as that is already the default mode for ZBC devices. In hindsight we should have made writing to the attribute fail for ZBC devices, but the code has probably been around for far too long to change this now. Signed-off-by: Christoph Hellwig <hch@lst.de> --- drivers/scsi/sd.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)