]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
sd: simplify the ZBC case in provisioning_mode_store
authorChristoph Hellwig <hch@lst.de>
Fri, 31 May 2024 07:48:00 +0000 (09:48 +0200)
committerJens Axboe <axboe@kernel.dk>
Fri, 14 Jun 2024 16:19:44 +0000 (10:19 -0600)
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>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20240531074837.1648501-6-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/scsi/sd.c

index 3dff9150ce11e238cf5849fc95400442a6aac1c8..83aa17fea39d391c816995915fd4aa90b0bc394a 100644 (file)
@@ -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 provisioning mode for ZBC devices */
+       if (sd_is_zoned(sdkp))
+               return count;
+
        mode = sysfs_match_string(lbp_mode, buf);
        if (mode < 0)
                return -EINVAL;