Here's a rather simply patch for scsi-midlayer checkpatch.pl complains about style issue, but I just did it as the other lines there. > schubert@squeeze@fsdevel3 linux-stable>scripts/checkpatch.pl patches-linux-3.9.y/ws10 > ERROR: spaces prohibited around that ':' (ctx:WxW) > #48: FILE: drivers/scsi/sd.h:87: > + unsigned ws10 : 1; > ^ If someone wants me, I can send another patch to fix the other lines first. scsi: Check if the device support WRITE_SAME_10 From: Bernd Schubert <bernd.schubert@xxxxxxxxxxxxxxxxxx> The md layer currently cannot handle failed WRITE_SAME commands and the initial easiest fix is to check if the device supports WRITE_SAME at all. It already tested for WRITE_SAME_16 and this commit adds a test for WRITE_SAME_10. Signed-off-by: Bernd Schubert <bernd.schubert@xxxxxxxxxxxxxxxxxx> --- drivers/scsi/sd.c | 6 +++++- drivers/scsi/sd.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 82910cc..368f0a4 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -742,7 +742,7 @@ static void sd_config_write_same(struct scsi_disk *sdkp) unsigned int logical_block_size = sdkp->device->sector_size; unsigned int blocks = 0; - if (sdkp->device->no_write_same) { + if (sdkp->device->no_write_same || !(sdkp->ws10 || sdkp->ws16)) { sdkp->max_ws_blocks = 0; goto out; } @@ -2648,6 +2648,10 @@ static void sd_read_block_provisioning(struct scsi_disk *sdkp) static void sd_read_write_same(struct scsi_disk *sdkp, unsigned char *buffer) { if (scsi_report_opcode(sdkp->device, buffer, SD_BUF_SIZE, + WRITE_SAME)) + sdkp->ws10 = 1; + + if (scsi_report_opcode(sdkp->device, buffer, SD_BUF_SIZE, WRITE_SAME_16)) sdkp->ws16 = 1; } diff --git a/drivers/scsi/sd.h b/drivers/scsi/sd.h index 2386aeb..7a049de 100644 --- a/drivers/scsi/sd.h +++ b/drivers/scsi/sd.h @@ -84,6 +84,7 @@ struct scsi_disk { unsigned lbpws : 1; unsigned lbpws10 : 1; unsigned lbpvpd : 1; + unsigned ws10 : 1; unsigned ws16 : 1; }; #define to_scsi_disk(obj) container_of(obj,struct scsi_disk,dev) -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html