From: Stefan Hajnoczi <stefanha@gmail.com>
To: ronnie sahlberg <ronniesahlberg@gmail.com>
Cc: Felipe Franciosi <felipe@nutanix.com>, Peter Lieven <pl@kamp.de>,
Paolo Bonzini <pbonzini@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>,
Hannes Reinecke <hare@suse.de>
Subject: [Qemu-devel] libiscsi task cancellation
Date: Thu, 8 Feb 2018 14:08:02 +0000 [thread overview]
Message-ID: <CAJSP0QX8zOCKK9HTf4=VddZcYqWmuuC+L5PWiEwVtsnxPd8V2w@mail.gmail.com> (raw)
SAM-5, 5.6 Aborting commands says:
A command is aborted when a SCSI device condition (see 6.3), command,
or task management function causes termination of the command prior to
its completion by the device server. After a command is aborted and
TASK ABORTED status, if any, is returned, the SCSI target device shall
send no further requests or responses for that command.
Then "Table 48 — Task management functions that abort commands (part 1
of 2)" goes on to say that no TASK ABORTED status is returned for
aborted commands "if the ABORT TASK scope is I_T_L nexus".
My interpretation is that the target doesn't have to send a response
for the aborted command. It just needs to complete the ABORT TASK
TMF. Afterwards the initiator knows the task is gone and will receive
no more responses.
Is my understanding correct?
Now on to libiscsi:
The iscsi_task_mgmt_async() API documentation says:
* abort_task will also cancel the scsi task. The callback for the
scsi task will be invoked with
* SCSI_STATUS_CANCELLED
I see that the ABORT TASK TMF response invokes the user's
iscsi_task_mgmt_async() callback but not the command callback. I'm
not sure how the command callback is invoked with
SCSI_STATUS_CANCELLED unless libiscsi is relying on the target to send
that response.
Is libiscsi honoring its iscsi_task_mgmt_async() contract?
Thanks,
Stefan
next reply other threads:[~2018-02-08 14:08 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-08 14:08 Stefan Hajnoczi [this message]
2018-02-08 14:14 ` [Qemu-devel] libiscsi task cancellation Paolo Bonzini
2018-02-08 14:58 ` Hannes Reinecke
2018-02-08 15:12 ` Stefan Hajnoczi
2018-02-08 15:33 ` Felipe Franciosi
2018-02-08 15:08 ` Stefan Hajnoczi
2018-02-08 15:13 ` Stefan Hajnoczi
2018-02-14 16:12 ` Felipe Franciosi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAJSP0QX8zOCKK9HTf4=VddZcYqWmuuC+L5PWiEwVtsnxPd8V2w@mail.gmail.com' \
--to=stefanha@gmail.com \
--cc=felipe@nutanix.com \
--cc=hare@suse.de \
--cc=pbonzini@redhat.com \
--cc=pl@kamp.de \
--cc=qemu-devel@nongnu.org \
--cc=ronniesahlberg@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).