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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 07 2007 at 20:06 +0200, Tony Battersby <tonyb@xxxxxxxxxxxxxxx> 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 <tonyb@xxxxxxxxxxxxxxx>
> ---
> --- linux-2.6.24-rc2/drivers/scsi/libiscsi.c.orig	2007-11-07 12:52:20.000000000 -0500
> +++ linux-2.6.24-rc2/drivers/scsi/libiscsi.c	2007-11-07 12:52:27.000000000 -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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux