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 open-iscsi+unsubscr...@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at http://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to