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