Messages in this thread | | | Date | Thu, 9 Jan 2014 12:24:43 +0200 | From | Sagi Grimberg <> | Subject | Re: [PATCH 07/14] target/sbc: Add P_TYPE + PROT_EN bits to READ_CAPACITY_16 |
| |
On 1/8/2014 10:36 PM, Nicholas A. Bellinger wrote: > From: Nicholas Bellinger <nab@linux-iscsi.org> > > This patch updates sbc_emulate_readcapacity_16() to set > P_TYPE and PROT_EN bits when DIF emulation is enabled by > the backend device. > > Cc: 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> > --- > drivers/target/target_core_sbc.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/target/target_core_sbc.c b/drivers/target/target_core_sbc.c > index 366b9bb..22599e8 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) > buf[9] = (dev->dev_attrib.block_size >> 16) & 0xff; > buf[10] = (dev->dev_attrib.block_size >> 8) & 0xff; > buf[11] = dev->dev_attrib.block_size & 0xff; > + /* > + * Set P_TYPE and PROT_EN bits for DIF support > + */ > + if (dev->dev_attrib.pi_prot_type) > + buf[12] = (dev->dev_attrib.pi_prot_type - 1) << 1 | 0x1; > > if (dev->transport->get_lbppbe) > buf[13] = dev->transport->get_lbppbe(dev) & 0x0f;
Hey Nic,
What about FORMAT_UNIT emulation? The backstore protection configuration is done at the target side via configfs/targetcli, if you publish DIF support in INQUERY_EVPD/READ_CAPACITY you need to accept protection information format? Did I miss that one? or is it still under WIP?
Sagi.
| |