From: Sagi Grimberg <sagig@dev.mellanox.co.il>
To: "Martin K. Petersen" <martin.petersen@oracle.com>,
linux-scsi@vger.kernel.org
Cc: Sagi Grimberg <sagig@mellanox.com>,
Christoph Hellwig <hch@infradead.org>
Subject: Re: [PATCH] [SCSI] Make scsi_transfer_length take a scsi_data_buffer argument
Date: Wed, 06 Aug 2014 15:12:23 +0300 [thread overview]
Message-ID: <53E21BA7.5000703@dev.mellanox.co.il> (raw)
In-Reply-To: <1406318419-7273-1-git-send-email-martin.petersen@oracle.com>
On 7/25/2014 11:00 PM, Martin K. Petersen wrote:
> For bidirectional commands we need to be able to distinguish between the
> in and out scsi_data_buffers when calculating the wire transfer length.
> Make scsi_transfer_length() take a scsi_data_buffer argument so the
> caller can choose which I/O direction the calculation should apply to.
>
Hey Martin, Christoph,
Sorry for the late response, I was on vacation.
Some comments below.
> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
> Cc: Sagi Grimberg <sagig@mellanox.com>
> Cc: Christoph Hellwig <hch@infradead.org>
> ---
> drivers/scsi/libiscsi.c | 2 +-
> drivers/target/loopback/tcm_loop.c | 2 +-
> include/scsi/scsi_cmnd.h | 5 +++--
> 3 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
> index f2db82beb646..fdea8c1527d4 100644
> --- a/drivers/scsi/libiscsi.c
> +++ b/drivers/scsi/libiscsi.c
> @@ -391,7 +391,7 @@ static int iscsi_prep_scsi_cmd_pdu(struct iscsi_task *task)
> if (scsi_get_prot_op(sc) != SCSI_PROT_NORMAL)
> task->protected = true;
>
> - transfer_length = scsi_transfer_length(sc);
> + transfer_length = scsi_transfer_length(sc, scsi_out(sc));
If we go down this road we should return to the in_len/out_len
approach that was used before since taking scsi_out(sc) doesn't make
sense for READs (although it would work).
> hdr->data_length = cpu_to_be32(transfer_length);
> if (sc->sc_data_direction == DMA_TO_DEVICE) {
> struct iscsi_r2t_info *r2t = &task->unsol_r2t;
> diff --git a/drivers/target/loopback/tcm_loop.c b/drivers/target/loopback/tcm_loop.c
> index 340de9d92b15..c50453df555a 100644
> --- a/drivers/target/loopback/tcm_loop.c
> +++ b/drivers/target/loopback/tcm_loop.c
> @@ -213,7 +213,7 @@ static void tcm_loop_submission_work(struct work_struct *work)
>
> }
>
> - transfer_length = scsi_transfer_length(sc);
> + transfer_length = scsi_transfer_length(sc, scsi_out(sc));
Again, this will work but it implies out direction.
Sagi.
next prev parent reply other threads:[~2014-08-06 12:12 UTC|newest]
Thread overview: 58+ 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
[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 14:03 ` Christoph Hellwig
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-07-25 20:00 ` [PATCH] [SCSI] Make scsi_transfer_length take a scsi_data_buffer argument Martin K. Petersen
2014-07-25 21:19 ` Christoph Hellwig
2014-07-29 13:26 ` Christoph Hellwig
2014-08-06 12:12 ` Sagi Grimberg [this message]
2014-08-06 13:09 ` Sagi Grimberg
2014-08-06 15:49 ` 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
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=53E21BA7.5000703@dev.mellanox.co.il \
--to=sagig@dev.mellanox.co.il \
--cc=hch@infradead.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=sagig@mellanox.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.