From: <rsw...@us...> - 2011-02-17 18:43:53
|
Revision: 397 http://iscsitarget.svn.sourceforge.net/iscsitarget/?rev=397&view=rev Author: rswwalker Date: 2011-02-17 18:43:47 +0000 (Thu, 17 Feb 2011) Log Message: ----------- Turns out the max_cmd_sn was set in the response, but not on the session, so check_cmd_sn() was incorrectly rejecting out-of-order commands. Compile tested on CentOS5 Signed-off-by: Ross Walker Modified Paths: -------------- trunk/kernel/iscsi.c Modified: trunk/kernel/iscsi.c =================================================================== --- trunk/kernel/iscsi.c 2011-01-28 19:56:38 UTC (rev 396) +++ trunk/kernel/iscsi.c 2011-02-17 18:43:47 UTC (rev 397) @@ -510,10 +510,13 @@ struct iscsi_conn *conn = cmnd->conn; struct iscsi_session *sess = conn->session; + sess->max_cmd_sn = sess->exp_cmd_sn + sess->max_queued_cmnds; + if (set_stat_sn) cmnd->pdu.bhs.sn = cpu_to_be32(conn->stat_sn++); + cmnd->pdu.bhs.exp_sn = cpu_to_be32(sess->exp_cmd_sn); - cmnd->pdu.bhs.max_sn = cpu_to_be32(sess->exp_cmd_sn + sess->max_queued_cmnds); + cmnd->pdu.bhs.max_sn = cpu_to_be32(sess->max_cmd_sn); } static void update_stat_sn(struct iscsi_cmnd *cmnd) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |