On 08/07/2009 05:27 AM, Hannes Reinecke wrote:
> When checking for the SUSPEND bit we have to make sure
> to transfer complete PDUs, otherwise the target will barf.

What do you mean it will barf?

We normally will eventually send the other part of the PDU. We have 
these cases:

1. If we are doing ERL0 then we won't, but it does not matter because we 
kill the tcp/ip connection and iscsi connection/session.

2. If we get suspended because of a TMF cleanup, then we would hit that, 
but when the xmit thread resumes conn->task will be this task so we will 
start it up again.
        - The exception is here if conn->task is the one we are aborting or is 
affected by the reset. However, in this case the target should not be 
sending a tmf response while it is waiting for the data to be sent.

Is there a 3rd you are hitting or a bug in the existing code?

> Signed-off-by: Hannes Reinecke<h...@suse.de>
> ---
>   drivers/scsi/iscsi_tcp.c |    3 ++-
>   1 files changed, 2 insertions(+), 1 deletions(-)
> diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c
> index b508468..a3fe5bf 100644
> --- a/drivers/scsi/iscsi_tcp.c
> +++ b/drivers/scsi/iscsi_tcp.c
> @@ -245,7 +245,8 @@ static int iscsi_sw_tcp_xmit_segment(struct 
> iscsi_tcp_conn *tcp_conn,
>               unsigned int offset, copy;
>               int flags = 0;
> -             if (test_bit(ISCSI_SUSPEND_BIT,
> +             if (copied == 0&&
> +                 test_bit(ISCSI_SUSPEND_BIT,
>                       &tcp_conn->iscsi_conn->suspend_tx)) {
>                       r = -ENODATA;
>                       goto unmap;

You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
For more options, visit this group at http://groups.google.com/group/open-iscsi

Reply via email to