[PATCH] [SCSI] iscsi: return data transfer residual for data-out commands

2007-11-07 Thread Tony Battersby
Currently, the iSCSI driver returns the data transfer residual for
data-in commands (e.g. read) but not data-out commands (e.g. write).
This patch makes it return the data transfer residual for both types of
commands.

Signed-off-by: Tony Battersby [EMAIL PROTECTED]
---
--- linux-2.6.24-rc2/drivers/scsi/libiscsi.c.orig   2007-11-07 
12:52:20.0 -0500
+++ linux-2.6.24-rc2/drivers/scsi/libiscsi.c2007-11-07 12:52:27.0 
-0500
@@ -291,9 +291,6 @@ invalid_datalen:
   min_t(uint16_t, senselen, SCSI_SENSE_BUFFERSIZE));
}
 
-   if (sc-sc_data_direction == DMA_TO_DEVICE)
-   goto out;
-
if (rhdr-flags  ISCSI_FLAG_CMD_UNDERFLOW) {
int res_count = be32_to_cpu(rhdr-residual_count);
 


-
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] [SCSI] iscsi: return data transfer residual for data-out commands

2007-11-07 Thread Boaz Harrosh
On Wed, Nov 07 2007 at 20:06 +0200, Tony Battersby [EMAIL PROTECTED] wrote:
 Currently, the iSCSI driver returns the data transfer residual for
 data-in commands (e.g. read) but not data-out commands (e.g. write).
 This patch makes it return the data transfer residual for both types of
 commands.
All types of commands, also good for BIDI ;)

 
 Signed-off-by: Tony Battersby [EMAIL PROTECTED]
 ---
 --- linux-2.6.24-rc2/drivers/scsi/libiscsi.c.orig 2007-11-07 
 12:52:20.0 -0500
 +++ linux-2.6.24-rc2/drivers/scsi/libiscsi.c  2007-11-07 12:52:27.0 
 -0500
 @@ -291,9 +291,6 @@ invalid_datalen:
  min_t(uint16_t, senselen, SCSI_SENSE_BUFFERSIZE));
   }
  
 - if (sc-sc_data_direction == DMA_TO_DEVICE)
 - goto out;
 -
   if (rhdr-flags  ISCSI_FLAG_CMD_UNDERFLOW) {
   int res_count = be32_to_cpu(rhdr-residual_count);
  
 
 
Thanks, this looks right to me. (And good catch)
I have went through the code and it looks like the right thing to do.
svn blame annotates this code to the patch (r527) that libiscsi was 
cut out of iscsi_tcp so perhaps then it made sense, but does not anymore.
It is also needed for the bidi patches, as currently bidi commands
have a sc_data_direction == DMA_TO_DEVICE.

Pleas accept this patch
Boaz

-
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] [SCSI] iscsi: return data transfer residual for data-out commands

2007-11-07 Thread Mike Christie

Boaz Harrosh wrote:

On Wed, Nov 07 2007 at 20:06 +0200, Tony Battersby [EMAIL PROTECTED] wrote:

Currently, the iSCSI driver returns the data transfer residual for
data-in commands (e.g. read) but not data-out commands (e.g. write).
This patch makes it return the data transfer residual for both types of
commands.

All types of commands, also good for BIDI ;)


Signed-off-by: Tony Battersby [EMAIL PROTECTED]
---
--- linux-2.6.24-rc2/drivers/scsi/libiscsi.c.orig   2007-11-07 
12:52:20.0 -0500
+++ linux-2.6.24-rc2/drivers/scsi/libiscsi.c2007-11-07 12:52:27.0 
-0500
@@ -291,9 +291,6 @@ invalid_datalen:
   min_t(uint16_t, senselen, SCSI_SENSE_BUFFERSIZE));
}
 
-	if (sc-sc_data_direction == DMA_TO_DEVICE)

-   goto out;
-
if (rhdr-flags  ISCSI_FLAG_CMD_UNDERFLOW) {
int res_count = be32_to_cpu(rhdr-residual_count);
 




Thanks, this looks right to me. (And good catch)
I have went through the code and it looks like the right thing to do.
svn blame annotates this code to the patch (r527) that libiscsi was 
cut out of iscsi_tcp so perhaps then it made sense


Actually I think we always had it in one way or another. Maybe because 
of the code moves svn blame goofed.


I think it was originally done because we probably thought we could not 
get underflow or overflow on a write. I do not know for sure though, but 
it may have been a workaround for some old firmware on another target 
that was fixed a long time ago.



The patch looks ok. Thanks.

James please apply with his other patch

http://marc.info/?l=linux-scsim=119334187619290w=2

for scsi-rc-fixes when you get a chance. Thanks.

Signed-off-by: Mike Christie [EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html