diff options
author | mav <mav@FreeBSD.org> | 2015-03-11 09:51:53 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2015-03-11 09:51:53 +0000 |
commit | bb2d9174ab9cbc151e93f4bf3c3326954ca56bb2 (patch) | |
tree | 235698d3353c3b38309c93632a7c2b705a94fc56 /usr.sbin/ctld | |
parent | fa6dbb5ad5277c7b4c8acbc94d1d0e7b4a4d208a (diff) | |
download | FreeBSD-src-bb2d9174ab9cbc151e93f4bf3c3326954ca56bb2.zip FreeBSD-src-bb2d9174ab9cbc151e93f4bf3c3326954ca56bb2.tar.gz |
MFC r279589: Fix handling of queued text and logout requests.
While it may have little sense, text and logout requests can be queued.
If they are, they consume cmdsn, so we should increment our conn_cmdsn.
Diffstat (limited to 'usr.sbin/ctld')
-rw-r--r-- | usr.sbin/ctld/discovery.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/usr.sbin/ctld/discovery.c b/usr.sbin/ctld/discovery.c index 88ca64c..15eaa76 100644 --- a/usr.sbin/ctld/discovery.c +++ b/usr.sbin/ctld/discovery.c @@ -75,6 +75,8 @@ text_receive(struct connection *conn) conn->conn_statsn); } conn->conn_cmdsn = ntohl(bhstr->bhstr_cmdsn); + if ((bhstr->bhstr_opcode & ISCSI_BHS_OPCODE_IMMEDIATE) == 0) + conn->conn_cmdsn++; return (request); } @@ -131,6 +133,8 @@ logout_receive(struct connection *conn) conn->conn_statsn); } conn->conn_cmdsn = ntohl(bhslr->bhslr_cmdsn); + if ((bhslr->bhslr_opcode & ISCSI_BHS_OPCODE_IMMEDIATE) == 0) + conn->conn_cmdsn++; return (request); } |