diff options
author | Nicholas Bellinger <nab@linux-iscsi.org> | 2013-12-23 15:36:09 -0500 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2014-01-18 04:53:13 -0500 |
commit | 56dac14cd25259fc567c5c4726a8f30f0ea407ce (patch) | |
tree | 9a7edd5686cf5f571c0740c69f64d22550d33b72 /drivers/target | |
parent | 43bb95c7c06de358de7ab525d28bb89b470c1892 (diff) |
target/sbc: Add P_TYPE + PROT_EN bits to READ_CAPACITY_16
This patch updates sbc_emulate_readcapacity_16() to set
P_TYPE and PROT_EN bits when DIF emulation is enabled by
the backend device.
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Sagi Grimberg <sagig@mellanox.com>
Cc: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target')
-rw-r--r-- | drivers/target/target_core_sbc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/target/target_core_sbc.c b/drivers/target/target_core_sbc.c index 26e8bfb27787..75364c7f6219 100644 --- a/drivers/target/target_core_sbc.c +++ b/drivers/target/target_core_sbc.c | |||
@@ -106,6 +106,11 @@ sbc_emulate_readcapacity_16(struct se_cmd *cmd) | |||
106 | buf[9] = (dev->dev_attrib.block_size >> 16) & 0xff; | 106 | buf[9] = (dev->dev_attrib.block_size >> 16) & 0xff; |
107 | buf[10] = (dev->dev_attrib.block_size >> 8) & 0xff; | 107 | buf[10] = (dev->dev_attrib.block_size >> 8) & 0xff; |
108 | buf[11] = dev->dev_attrib.block_size & 0xff; | 108 | buf[11] = dev->dev_attrib.block_size & 0xff; |
109 | /* | ||
110 | * Set P_TYPE and PROT_EN bits for DIF support | ||
111 | */ | ||
112 | if (dev->dev_attrib.pi_prot_type) | ||
113 | buf[12] = (dev->dev_attrib.pi_prot_type - 1) << 1 | 0x1; | ||
109 | 114 | ||
110 | if (dev->transport->get_lbppbe) | 115 | if (dev->transport->get_lbppbe) |
111 | buf[13] = dev->transport->get_lbppbe(dev) & 0x0f; | 116 | buf[13] = dev->transport->get_lbppbe(dev) & 0x0f; |