-
- Downloads
target: Add TFO->abort_task for aborted task resources release
Now that TASK_ABORTED status is not generated for all cases by
TMR ABORT_TASK + LUN_RESET, a new TFO->abort_task() caller is
necessary in order to give fabric drivers a chance to unmap
hardware / software resources before the se_cmd descriptor is
released via the normal TFO->release_cmd() codepath.
This patch adds TFO->aborted_task() in core_tmr_abort_task()
in place of the original transport_send_task_abort(), and
also updates all fabric drivers to implement this caller.
The fabric drivers that include changes to perform cleanup
via ->aborted_task() are:
- iscsi-target
- iser-target
- srpt
- tcm_qla2xxx
The fabric drivers that currently set ->aborted_task() to
NOPs are:
- loopback
- tcm_fc
- usb-gadget
- sbp-target
- vhost-scsi
For the latter five, there appears to be no additional cleanup
required before invoking TFO->release_cmd() to release the
se_cmd descriptor.
v2 changes:
- Move ->aborted_task() call into transport_cmd_finish_abort (Alex)
Cc: Alex Leung <amleung21@yahoo.com>
Cc: Mark Rustad <mark.d.rustad@intel.com>
Cc: Roland Dreier <roland@kernel.org>
Cc: Vu Pham <vu@mellanox.com>
Cc: Chris Boot <bootc@bootc.net>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Giridhar Malavali <giridhar.malavali@qlogic.com>
Cc: Saurav Kashyap <saurav.kashyap@qlogic.com>
Cc: Quinn Tran <quinn.tran@qlogic.com>
Cc: Sagi Grimberg <sagig@mellanox.com>
Cc: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by:
Nicholas Bellinger <nab@linux-iscsi.org>
Showing
- drivers/infiniband/ulp/isert/ib_isert.c 19 additions, 0 deletionsdrivers/infiniband/ulp/isert/ib_isert.c
- drivers/infiniband/ulp/srpt/ib_srpt.c 9 additions, 0 deletionsdrivers/infiniband/ulp/srpt/ib_srpt.c
- drivers/scsi/qla2xxx/tcm_qla2xxx.c 16 additions, 0 deletionsdrivers/scsi/qla2xxx/tcm_qla2xxx.c
- drivers/target/iscsi/iscsi_target.c 13 additions, 0 deletionsdrivers/target/iscsi/iscsi_target.c
- drivers/target/iscsi/iscsi_target_configfs.c 8 additions, 0 deletionsdrivers/target/iscsi/iscsi_target_configfs.c
- drivers/target/iscsi/iscsi_target_util.c 2 additions, 2 deletionsdrivers/target/iscsi/iscsi_target_util.c
- drivers/target/iscsi/iscsi_target_util.h 1 addition, 0 deletionsdrivers/target/iscsi/iscsi_target_util.h
- drivers/target/loopback/tcm_loop.c 6 additions, 0 deletionsdrivers/target/loopback/tcm_loop.c
- drivers/target/sbp/sbp_target.c 6 additions, 0 deletionsdrivers/target/sbp/sbp_target.c
- drivers/target/target_core_configfs.c 4 additions, 0 deletionsdrivers/target/target_core_configfs.c
- drivers/target/target_core_transport.c 6 additions, 0 deletionsdrivers/target/target_core_transport.c
- drivers/target/tcm_fc/tcm_fc.h 1 addition, 0 deletionsdrivers/target/tcm_fc/tcm_fc.h
- drivers/target/tcm_fc/tfc_cmd.c 5 additions, 0 deletionsdrivers/target/tcm_fc/tfc_cmd.c
- drivers/target/tcm_fc/tfc_conf.c 1 addition, 0 deletionsdrivers/target/tcm_fc/tfc_conf.c
- drivers/usb/gadget/tcm_usb_gadget.c 6 additions, 0 deletionsdrivers/usb/gadget/tcm_usb_gadget.c
- drivers/vhost/scsi.c 6 additions, 0 deletionsdrivers/vhost/scsi.c
- include/target/iscsi/iscsi_transport.h 1 addition, 0 deletionsinclude/target/iscsi/iscsi_transport.h
- include/target/target_core_fabric.h 1 addition, 0 deletionsinclude/target/target_core_fabric.h
Loading
Please register or sign in to comment