Mike Christie wrote:
> Arvind Jain wrote:
>> Mike. 
>> Thanks for quick response. Following are the answer to your questions:
>> Q. When the initiator logs back in, is the target sending a MaxCmdSN and 
>> ExpCmdSn that indicates the window is smaller?
>> A. Yes
>> Q. Are you digging in the code by any chance?
>> A. I did a bit. Need to look more.
>> Q. Did you see if libiscsi.c:iscsi_update_cmdsn() is updateing the values
>> correctly?
>> A. Not yet. Will look deeper.
> If you could use
> http://www.open-iscsi.org/bits/open-iscsi-2.0-869.2.tar.gz
> just build it with
> make DEBUG_SCSI=1 DEBUG_TCP=1 install
> Then do your test (unload the old modules if they are loaded and then 
> modprobe iscsi_tcp again to get the new modules that are installed 
> above) and send the /var/log/messages output I can see what is getting 
> updated in the driver/code.

You might not have to go to all that trouble. I think I found the 
problem. We leave the original sequence window values set, so if you try 
to update them initially then we will not take them because they are 
smaller than what they were before.

With the attached patch we should pick them up. The patch is made over 

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 [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/open-iscsi

--- open-iscsi-2.0-869.2/kernel/libiscsi.c	2008-05-08 19:53:48.000000000 -0500
+++ open-iscsi-2.0-869.2.work/kernel/libiscsi.c	2008-06-27 14:36:56.000000000 -0500
@@ -2013,6 +2024,8 @@ int iscsi_conn_start(struct iscsi_cls_co
 	conn->c_stage = ISCSI_CONN_STARTED;
 	session->state = ISCSI_STATE_LOGGED_IN;
 	session->queued_cmdsn = session->cmdsn;
+	session->exp_cmdsn = session->cmdsn + 1;
+	session->max_cmdsn = session->cmdsn + 1;
 	conn->last_recv = jiffies;
 	conn->last_ping = jiffies;

Reply via email to