summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin K. Petersen2012-02-13 21:39:00 +0100
committerJames Bottomley2012-02-19 16:39:09 +0100
commit89730393f260aef7fce9f6fd475da148517a4c5c (patch)
treef01e8f64dfd43dc38c27f4f1d8be45ed2f43346d
parent[SCSI] Ensure discard failure gets treated as a target problem (diff)
downloadkernel-qcow2-linux-89730393f260aef7fce9f6fd475da148517a4c5c.tar.gz
kernel-qcow2-linux-89730393f260aef7fce9f6fd475da148517a4c5c.tar.xz
kernel-qcow2-linux-89730393f260aef7fce9f6fd475da148517a4c5c.zip
[SCSI] sd: Make sure provisioning mode is reported correctly
The provisioning_mode parameter in sysfs did not get updated in the SD_LBP_DISABLE case. Make sure the provisioning mode is always set correctly. Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
-rw-r--r--drivers/scsi/sd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index c691fb50e6cb..8c525aa1b858 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -497,6 +497,8 @@ static void sd_config_discard(struct scsi_disk *sdkp, unsigned int mode)
max(sdkp->physical_block_size,
sdkp->unmap_granularity * logical_block_size);
+ sdkp->provisioning_mode = mode;
+
switch (mode) {
case SD_LBP_DISABLE:
@@ -524,8 +526,6 @@ static void sd_config_discard(struct scsi_disk *sdkp, unsigned int mode)
q->limits.max_discard_sectors = max_blocks * (logical_block_size >> 9);
queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, q);
-
- sdkp->provisioning_mode = mode;
}
/**