Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751142AbaAIKZM (ORCPT ); Thu, 9 Jan 2014 05:25:12 -0500 Received: from eu1sys200aog107.obsmtp.com ([207.126.144.123]:52844 "EHLO eu1sys200aog107.obsmtp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750806AbaAIKZF (ORCPT ); Thu, 9 Jan 2014 05:25:05 -0500 Message-ID: <52CE78EB.60108@mellanox.com> Date: Thu, 9 Jan 2014 12:24:43 +0200 From: Sagi Grimberg User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: "Nicholas A. Bellinger" , target-devel CC: linux-scsi , linux-kernel , "Martin K. Petersen" , Christoph Hellwig , Hannes Reinecke , Or Gerlitz , Nicholas Bellinger Subject: Re: [PATCH 07/14] target/sbc: Add P_TYPE + PROT_EN bits to READ_CAPACITY_16 References: <1389212157-14540-1-git-send-email-nab@daterainc.com> <1389212157-14540-8-git-send-email-nab@daterainc.com> In-Reply-To: <1389212157-14540-8-git-send-email-nab@daterainc.com> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.0.13.1] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/8/2014 10:36 PM, Nicholas A. Bellinger wrote: > From: Nicholas Bellinger > > 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 > Cc: Christoph Hellwig > Cc: Hannes Reinecke > Cc: Sagi Grimberg > Cc: Or Gerlitz > Signed-off-by: Nicholas Bellinger > --- > 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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/