Commit cbaac689 authored by Martin K. Petersen's avatar Martin K. Petersen

scsi: sd: Do not attempt to configure discard unless LBPME is set

Commit f874d721 ("scsi: sd: Keep the discard mode stable") attempted
to address an issue where one mode of discard operation got configured
prior to the device completing full discovery.  Unfortunately this
change assumed discard was always enabled on the device.

Do not attempt to configure discard unless LBPME is enabled.

Link: https://lore.kernel.org/r/20240817005325.3319384-1-martin.petersen@oracle.com
Fixes: f874d721 ("scsi: sd: Keep the discard mode stable")
Reported-by: default avatarChris Bainbridge <chris.bainbridge@gmail.com>
Tested-by: default avatarChris Bainbridge <chris.bainbridge@gmail.com>
Tested-by: default avatarShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Tested-by: default avatarJohn Garry <john.g.garry@oracle.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent cd612b57
...@@ -3308,6 +3308,9 @@ static void sd_read_app_tag_own(struct scsi_disk *sdkp, unsigned char *buffer) ...@@ -3308,6 +3308,9 @@ static void sd_read_app_tag_own(struct scsi_disk *sdkp, unsigned char *buffer)
static unsigned int sd_discard_mode(struct scsi_disk *sdkp) static unsigned int sd_discard_mode(struct scsi_disk *sdkp)
{ {
if (!sdkp->lbpme)
return SD_LBP_FULL;
if (!sdkp->lbpvpd) { if (!sdkp->lbpvpd) {
/* LBP VPD page not provided */ /* LBP VPD page not provided */
if (sdkp->max_unmap_blocks) if (sdkp->max_unmap_blocks)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment