Re: [PATCH] iscsi-target: fix seq_end_offset calculation

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

 



Hi Nicholas,

On Fri, Sep 16, 2016 at 09:56:38PM +0530, Varun Prakash wrote:
> In case of unsolicited data for the first
> sequence seq_end_offset must be set to
> minimum of firstburstlength and total data length.
> 
> Signed-off-by: Varun Prakash <varun@xxxxxxxxxxx>
> ---
>  drivers/target/iscsi/iscsi_target_erl0.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/target/iscsi/iscsi_target_erl0.c b/drivers/target/iscsi/iscsi_target_erl0.c
> index b54e72c..98dff74 100644
> --- a/drivers/target/iscsi/iscsi_target_erl0.c
> +++ b/drivers/target/iscsi/iscsi_target_erl0.c
> @@ -44,10 +44,10 @@ void iscsit_set_dataout_sequence_values(
>  	 */
>  	if (cmd->unsolicited_data) {
>  		cmd->seq_start_offset = cmd->write_data_done;
> -		cmd->seq_end_offset = (cmd->write_data_done +
> -			((cmd->se_cmd.data_length >
> +		cmd->seq_end_offset = (cmd->se_cmd.data_length >
>  			  conn->sess->sess_ops->FirstBurstLength) ?
> -			 conn->sess->sess_ops->FirstBurstLength : cmd->se_cmd.data_length));
> +			  conn->sess->sess_ops->FirstBurstLength :
> +			  cmd->se_cmd.data_length;
>  		return;
>  	}
>  

If I set ImmediateData=Yes, InitialR2T=No, MaxXmitDataSegmentLength < FirstBurstLength
on the target and issue a WRITE cmd (IO size > FirstBurstLength) from initiator then
target prints sequence error messages, for example

Set following parameters on target (linux-4.8.12)
ImmediateData = Yes
InitialR2T = No
MaxXmitDataSegmentLength = 8k
FirstBurstLength = 64k

Log in from Open iSCSI initiator and execute
dd if=/dev/zero of=/dev/sdb bs=128k count=1 oflag=direct

Error messages on target 
Command ITT: 0x00000035 with Offset: 65536, Length: 8192 outside of Sequence 73728:131072 while DataSequenceInOrder=Yes.
Command ITT: 0x00000035, received DataSN: 0x00000001 higher than expected 0x00000000.
Unable to perform within-command recovery while ERL=0.

Is the above patch a correct fix for this bug?

Thanks
Varun 
--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux