diff options
author | Alexander Motin <mav@FreeBSD.org> | 2021-01-24 19:23:04 +0000 |
---|---|---|
committer | Alexander Motin <mav@FreeBSD.org> | 2021-01-24 19:23:04 +0000 |
commit | 9bee9a98ff7f9de093314abaf7c46ca89c4020d9 (patch) | |
tree | 28e6ddd4d0a0f4e1fe6124a8d8a7ca2a9da2c772 | |
parent | b31dae0caa0286820805951842fa871f71b33d75 (diff) | |
download | src-9bee9a98ff7f9de093314abaf7c46ca89c4020d9.tar.gz src-9bee9a98ff7f9de093314abaf7c46ca89c4020d9.zip |
Exclude reserved iSCSI Initiator Task Tag.
RFC 7143 (11.2.1.8):
An ITT value of 0xffffffff is reserved and MUST NOT be assigned for a
task by the initiator. The only instance in which it may be seen on
the wire is in a target-initiated NOP-In PDU (Section 11.19) and in
the initiator response to that PDU, if necessary.
MFC after: 1 month
-rw-r--r-- | sys/dev/iscsi/iscsi.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/iscsi/iscsi.c b/sys/dev/iscsi/iscsi.c index eaaf84de9594..5e6c80255bff 100644 --- a/sys/dev/iscsi/iscsi.c +++ b/sys/dev/iscsi/iscsi.c @@ -2194,6 +2194,8 @@ iscsi_action_abort(struct iscsi_session *is, union ccb *ccb) } initiator_task_tag = is->is_initiator_task_tag++; + if (initiator_task_tag == 0xffffffff) + initiator_task_tag = is->is_initiator_task_tag++; io = iscsi_outstanding_add(is, request, NULL, &initiator_task_tag); if (io == NULL) { @@ -2254,6 +2256,9 @@ iscsi_action_scsiio(struct iscsi_session *is, union ccb *ccb) } initiator_task_tag = is->is_initiator_task_tag++; + if (initiator_task_tag == 0xffffffff) + initiator_task_tag = is->is_initiator_task_tag++; + io = iscsi_outstanding_add(is, request, ccb, &initiator_task_tag); if (io == NULL) { icl_pdu_free(request); |