Thanks for doing this and sorry for the lateness.

On 08/08/2013 08:25 AM, Or Gerlitz wrote:
> diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c
> index d24a286..6c6631c 100644
> --- a/drivers/scsi/be2iscsi/be_main.c
> +++ b/drivers/scsi/be2iscsi/be_main.c
> @@ -225,20 +225,20 @@ static int beiscsi_eh_abort(struct scsi_cmnd *sc)
>       cls_session = starget_to_session(scsi_target(sc->device));
>       session = cls_session->dd_data;
> -     spin_lock_bh(&session->lock);
> +     spin_lock_bh(&session->frwd_lock);

If we set the task->sc to a scsi_cmnd under the frwd_lock but then set
it to NULL and cleanup the task at completion time in the
iscsi_complete_task/iscsi_fail_task paths do we need to hold both locks
in the eh paths like here and iscsi_eh_abort?

It looks like locking around the requeue list is incorrect. For the
conn->requeue list we can add under the back lock but we are taking it
off with the frwd lock.

Is the max_cmdsn use correct? If we set it under the back_log but read
it under the frwd_lock will that work?  We really just need it to be
updated on the send side when it is updated on the recv side.

You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
To post to this group, send email to
Visit this group at
For more options, visit

Reply via email to