mirror of
https://github.com/torvalds/linux.git
synced 2024-12-03 17:41:22 +00:00
scsi: megaraid_sas: Set no_write_same only for Virtual Disk
Disable WRITE_SAME (no_write_same) for Virtual Disks only. For System PDs and EPDs (Enhanced PDs), WRITE_SAME need not be disabled by default. Link: https://lore.kernel.org/r/1579000882-20246-3-git-send-email-anand.lodnoor@broadcom.com Signed-off-by: Anand Lodnoor <anand.lodnoor@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
499e7246d6
commit
a7faf81d78
@ -1887,6 +1887,10 @@ void megasas_set_dynamic_target_properties(struct scsi_device *sdev,
|
||||
|
||||
mr_device_priv_data->is_tm_capable =
|
||||
raid->capability.tmCapable;
|
||||
|
||||
if (!raid->flags.isEPD)
|
||||
sdev->no_write_same = 1;
|
||||
|
||||
} else if (instance->use_seqnum_jbod_fp) {
|
||||
pd_index = (sdev->channel * MEGASAS_MAX_DEV_PER_CHANNEL) +
|
||||
sdev->id;
|
||||
@ -3416,7 +3420,6 @@ static struct scsi_host_template megasas_template = {
|
||||
.bios_param = megasas_bios_param,
|
||||
.change_queue_depth = scsi_change_queue_depth,
|
||||
.max_segment_size = 0xffffffff,
|
||||
.no_write_same = 1,
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -864,9 +864,20 @@ struct MR_LD_RAID {
|
||||
u8 regTypeReqOnRead;
|
||||
__le16 seqNum;
|
||||
|
||||
struct {
|
||||
u32 ldSyncRequired:1;
|
||||
u32 reserved:31;
|
||||
struct {
|
||||
#ifndef MFI_BIG_ENDIAN
|
||||
u32 ldSyncRequired:1;
|
||||
u32 regTypeReqOnReadIsValid:1;
|
||||
u32 isEPD:1;
|
||||
u32 enableSLDOnAllRWIOs:1;
|
||||
u32 reserved:28;
|
||||
#else
|
||||
u32 reserved:28;
|
||||
u32 enableSLDOnAllRWIOs:1;
|
||||
u32 isEPD:1;
|
||||
u32 regTypeReqOnReadIsValid:1;
|
||||
u32 ldSyncRequired:1;
|
||||
#endif
|
||||
} flags;
|
||||
|
||||
u8 LUN[8]; /* 0x24 8 byte LUN field used for SCSI IO's */
|
||||
|
Loading…
Reference in New Issue
Block a user