diff options
author | Martin K. Petersen <martin.petersen@oracle.com> | 2013-10-23 06:25:40 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-11-29 08:48:39 +0400 |
commit | 54b2b50c20a61b51199bedb6e5d2f8ec2568fb43 (patch) | |
tree | 8bff3a0f9bc3a5577cb4191ee8043aa98d081b87 /drivers/scsi/arcmsr | |
parent | ae5fbae0ccd982dfca0ce363036ed92f5b13f150 (diff) | |
download | linux-stable-54b2b50c20a61b51199bedb6e5d2f8ec2568fb43.tar.gz linux-stable-54b2b50c20a61b51199bedb6e5d2f8ec2568fb43.tar.bz2 linux-stable-54b2b50c20a61b51199bedb6e5d2f8ec2568fb43.zip |
[SCSI] Disable WRITE SAME for RAID and virtual host adapter drivers
Some host adapters do not pass commands through to the target disk
directly. Instead they provide an emulated target which may or may not
accurately report its capabilities. In some cases the physical device
characteristics are reported even when the host adapter is processing
commands on the device's behalf. This can lead to adapter firmware hangs
or excessive I/O errors.
This patch disables WRITE SAME for devices connected to host adapters
that provide an emulated target. Driver writers can disable WRITE SAME
by setting the no_write_same flag in the host adapter template.
[jejb: fix up rejections due to eh_deadline patch]
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Cc: stable@kernel.org
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/arcmsr')
-rw-r--r-- | drivers/scsi/arcmsr/arcmsr_hba.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c index 97fd450aff09..4f6a30b8e5f9 100644 --- a/drivers/scsi/arcmsr/arcmsr_hba.c +++ b/drivers/scsi/arcmsr/arcmsr_hba.c @@ -137,6 +137,7 @@ static struct scsi_host_template arcmsr_scsi_host_template = { .cmd_per_lun = ARCMSR_MAX_CMD_PERLUN, .use_clustering = ENABLE_CLUSTERING, .shost_attrs = arcmsr_host_attrs, + .no_write_same = 1, }; static struct pci_device_id arcmsr_device_id_table[] = { {PCI_DEVICE(PCI_VENDOR_ID_ARECA, PCI_DEVICE_ID_ARECA_1110)}, |