From: Boaz Harrosh <openosd@gmail.com>
To: Sagi Grimberg <sagig@dev.mellanox.co.il>,
Sagi Grimberg <sagig@mellanox.com>,
michaelc@cs.wisc.edu, martin.petersen@oracle.com,
nab@linux-iscsi.org, roland@kernel.org
Cc: linux-scsi@vger.kernel.org, target-devel@vger.kernel.org,
linux-rdma@vger.kernel.org
Subject: Re: [PATCH v2 2/3] libiscsi, iser: Adjust data_length to include protection information
Date: Wed, 06 Aug 2014 16:25:58 +0300 [thread overview]
Message-ID: <53E22CE6.9070202@gmail.com> (raw)
In-Reply-To: <53E22300.3090907@dev.mellanox.co.il>
On 08/06/2014 03:43 PM, Sagi Grimberg wrote:
> Hi Boaz,
>
<>
>>
>> I hate that you introduced this new transfer_length variable. It does
>> not exist. In BIDI supporting driver there is out_len and in_len just
>> as original code.
>
> Effectively, out_len and in_len are the same except for the bidi case.
> Moreover, the hdr->data_length is exactly the command scsi data buffer
> length, the bidi length is taken from scsi_in when we build the AHS for
> bidi (rlen_ahdr->read_length).
>
> So to me it is correct and makes sense. But I'm don't feel so strong
> about it...
>
> Mike what's your take on this?
>
I have a patch to clean all that, will send tomorrow.
What I mean is that this is on the out-path only the in path is different.
See the code this variable is only used in the if (== DMA_TO_DEVICE) case and
should be local to that scope. This is my clean up
<>
>> this particular driver puts them together in the same payload. There can be
>> other DIFF supporting drivers that put the DIFF payload on another stream / another
>> SG list, like the sata one, right?
>
> I think that DIF specification says that on the wire the data and
> protection are interleaved i.e. Block1, DIF1, Block2, DIF2...
>
No it does not. This is a per transport, and actually per device host
driver. Yes in iSCSI_tcp they are inline in HW cards they might come as
two different SGs (Like the Linux model). Even with iscsi-offload they might
want to be two SG-lists.
> So I do think that the transfer length should always include
> data_length + protection_length.
>
This is at the iscsi level. But the scsi_transfer_length() is on the scsi
level which keeps them separate. So I think the proper API should be
scsi_proto_length()
And for LLDs that want them together they can do scsi_bufflen() + scsi_proto_length()
and for other drivers they can do it separately. Don't infect iscsi level assumptions
on the generic layer API.
Again my patch fixes this.
>> And this
>>
>> This print is correct as it covers all cases. If you want to print the adjusted
>> length then OK, you'd need to store this I guess, but store it as a different
>> variable like proto_length and print it as an additional variable.
>
> But it is the transfer length that is sent in iSCSI header. Why do you
> want to print it as additional info?
I want to see what was the length the app/FS sent, then as added
info how much was added for DIFF, your way there is lost information.
> for transactions that include DIF
> the length is the data + protection.
>
> It is still one-to-one isn't it?
>
No! the original submitted length is lost from the print
> Sagi.
>
Shalom
Boaz
next prev parent reply other threads:[~2014-08-06 13:25 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-11 9:09 [PATCH v2 0/3] Include protection information in transport header Sagi Grimberg
2014-06-11 9:09 ` [PATCH v2 1/3] scsi_cmnd: Introduce scsi_transfer_length helper Sagi Grimberg
2014-06-11 23:39 ` Martin K. Petersen
2014-06-23 21:24 ` Mike Christie
[not found] ` <53A89B0F.4040300-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2014-06-24 1:58 ` Martin K. Petersen
2014-06-25 1:17 ` Vladislav Bolkhovitin
2014-07-27 8:45 ` Boaz Harrosh
[not found] ` <1402477799-24610-2-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-06-24 6:54 ` Mike Christie
2014-06-24 12:53 ` Martin K. Petersen
2014-06-24 14:03 ` Christoph Hellwig
[not found] ` <yq1mwd2h3ju.fsf-+q57XtR/GgMb6DWv4sQWN6xOck334EZe@public.gmane.org>
2014-06-24 13:08 ` Sagi Grimberg
2014-06-24 14:55 ` Christoph Hellwig
2014-06-24 15:29 ` sagi grimberg
2014-06-24 16:08 ` Michael Christie
2014-06-24 16:27 ` Christoph Hellwig
2014-06-24 16:27 ` Sagi Grimberg
2014-06-24 16:30 ` Christoph Hellwig
[not found] ` <20140624163040.GA11499-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2014-06-24 17:00 ` Mike Christie
2014-06-24 17:04 ` Martin K. Petersen
2014-06-24 17:08 ` Mike Christie
[not found] ` <53A9B0A0.6000103-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2014-06-25 3:32 ` Mike Christie
2014-06-25 8:48 ` Sagi Grimberg
2014-06-25 9:17 ` Christoph Hellwig
2014-06-25 10:32 ` Sagi Grimberg
[not found] ` <53AAA547.40300-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-06-25 11:35 ` Christoph Hellwig
[not found] ` <20140625113536.GA30312-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2014-06-25 15:59 ` Michael Christie
2014-07-27 9:11 ` Boaz Harrosh
[not found] ` <53D4C22F.8050904-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-07-27 13:52 ` Christoph Hellwig
2014-08-06 12:15 ` Sagi Grimberg
2014-06-25 9:14 ` Christoph Hellwig
2014-06-25 11:29 ` Martin K. Petersen
2014-06-24 16:31 ` Martin K. Petersen
[not found] ` <yq1fviugtgq.fsf-+q57XtR/GgMb6DWv4sQWN6xOck334EZe@public.gmane.org>
2014-06-24 17:05 ` Mike Christie
2014-06-24 13:01 ` sagi grimberg
2014-06-26 14:53 ` Bart Van Assche
[not found] ` <53AC3402.2080302-HInyCGIudOg@public.gmane.org>
2014-06-26 14:55 ` James Bottomley
2014-06-26 15:41 ` Atchley, Scott
2014-06-26 16:38 ` James Bottomley
[not found] ` <fbbc6688-5a52-4437-93b1-71e8ff84c36c-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org>
2014-06-26 21:17 ` Atchley, Scott
2014-07-13 11:37 ` Christoph Hellwig
2014-07-13 11:40 ` Martin K. Petersen
2014-06-11 9:09 ` [PATCH v2 2/3] libiscsi, iser: Adjust data_length to include protection information Sagi Grimberg
2014-06-23 20:59 ` Christoph Hellwig
[not found] ` <20140623205948.GA15165-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2014-06-24 6:31 ` Mike Christie
[not found] ` <1402477799-24610-3-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-07-27 10:08 ` Boaz Harrosh
[not found] ` <53D4CFAB.3040804-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-08-06 12:43 ` Sagi Grimberg
2014-08-06 13:25 ` Boaz Harrosh [this message]
2014-08-13 13:09 ` Sagi Grimberg
[not found] ` <53EB639C.3080307-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-08-14 7:17 ` Boaz Harrosh
[not found] ` <53E22300.3090907-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-08-06 15:54 ` Martin K. Petersen
2014-06-11 9:09 ` [PATCH v2 3/3] TARGET/sbc,loopback: Adjust command data length in case pi exists on the wire Sagi Grimberg
2014-06-11 21:36 ` [PATCH v2 0/3] Include protection information in transport header Nicholas A. Bellinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53E22CE6.9070202@gmail.com \
--to=openosd@gmail.com \
--cc=linux-rdma@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=michaelc@cs.wisc.edu \
--cc=nab@linux-iscsi.org \
--cc=roland@kernel.org \
--cc=sagig@dev.mellanox.co.il \
--cc=sagig@mellanox.com \
--cc=target-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox