Spdk/include/spdk
Shuhei Matsumoto c740e56928 scsi: Open/close a LUN to remove it safely for iSCSI multi connections
To remove a LUN safely for iSCSI multiple connections, each connection
must return I/O channel after checking completion of all tasks.

Open/close mechanism provides a way to register callback to do it.

Registered callback will be called after checking completion of
outstanding tasks.

Making the close LUN function public is necessary to support hot removal.

Change-Id: I06d50d016b0b7aba0d081da226f5b2e0c911629e
Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/417198
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2018-07-17 17:43:28 +00:00
..
assert.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
barrier.h barrier.h: change PPC64 spdk_rmb from lwsync to sync 2018-06-05 17:56:22 +00:00
bdev_module.h bdev: add ability to track bdev queue depth. 2018-07-12 23:27:27 +00:00
bdev.h bdev: add ability to track bdev queue depth. 2018-07-12 23:27:27 +00:00
bit_array.h util/bit_array: add functions to count 0/1 bits 2018-06-04 17:24:48 +00:00
blob_bdev.h bdev: rename spdk_bdev_module_if -> spdk_bdev_module 2018-03-13 00:55:12 -04:00
blob.h blobstore: add decouple parent function 2018-06-21 22:50:03 +00:00
blobfs.h include/blobfs.h: add comments for callback functions 2018-06-14 04:42:10 +00:00
conf.h include/conf: add comments for public APIs 2018-02-26 11:59:09 -05:00
copy_engine.h include/copy_engine.h: add comments for callback functions 2018-05-28 01:45:03 +00:00
cpuset.h doc: fix a bunch of parameter-related Doxygen comments 2018-06-19 17:29:06 +00:00
crc16.h util/crc16: add crc16 library support and unit tests 2017-12-20 15:12:26 -05:00
crc32.h include: wrap header files in extern "C" for c++ 2017-12-07 19:13:47 -05:00
endian.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
env.h env/app: add unlink hugepages option to app 2018-07-17 07:06:53 +00:00
event.h env/app: add unlink hugepages option to app 2018-07-17 07:06:53 +00:00
fd.h include/fd.h: add comments for pubclic APIs 2018-01-04 12:12:10 -05:00
gpt_spec.h bdev/gpt: dump partition name 2017-07-12 18:12:52 -04:00
histogram_data.h util: enable dynamic spdk_histogram_data sizing 2017-12-29 14:20:48 -05:00
io_channel.h thread: Rename io_channel.h to thread.h 2018-06-12 15:24:07 +00:00
ioat_spec.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
ioat.h include/ioat.h: add comments for public APIs 2018-03-14 13:02:06 -04:00
iscsi_spec.h iscsi: fix layout of logout request reason field 2017-09-22 16:11:11 -04:00
json.h json: Add spdk_json_decode_uint16 2018-06-05 21:30:02 +00:00
jsonrpc.h rpc: Add state_mask to each RPC method to make sets of RPCs 2018-05-03 19:48:15 +00:00
likely.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
log.h doc: fix a bunch of parameter-related Doxygen comments 2018-06-19 17:29:06 +00:00
lvol.h blobstore: add decouple parent function 2018-06-21 22:50:03 +00:00
mmio.h mmio: add functions for 1 and 2 byte I/O accesses 2017-10-13 10:46:00 -04:00
nbd.h nbd: add JSON config dump 2018-04-24 21:46:42 +00:00
net.h include/net.h: remove non public functions to private header file 2018-04-11 12:10:14 -04:00
nvme_intel.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
nvme_ocssd_spec.h ocssd: lba_status bit array on vector completion queue entry 2018-07-02 22:37:53 +00:00
nvme_ocssd.h ocssd: add chunk info list as mptr of vector reset 2018-07-09 18:54:22 +00:00
nvme_spec.h nvme_spec: add VWC flush broadcast bits (TP 4035) 2018-06-26 22:51:37 +00:00
nvme.h include/nvme.h: add comments for public APIs 2018-07-16 04:56:16 +00:00
nvmf_fc_spec.h nvmf: FC-NVMe spec. header file 2018-07-06 22:49:20 +00:00
nvmf_spec.h scripts/check_format: check for spaces before tabs 2018-03-05 11:09:13 -05:00
nvmf.h nvmf: give qpair_disconnect an asynchronous api. 2018-07-06 22:49:39 +00:00
pci_ids.h nvme: add chk_rdy quirk for some Samsung drives 2018-07-14 01:47:47 +00:00
queue_extras.h scripts/check_format: check for spaces before tabs 2018-03-05 11:09:13 -05:00
queue.h Add extern "C" wrapper to all public headers 2016-02-12 07:52:35 -07:00
rpc.h rpc: Add state_mask to each RPC method to make sets of RPCs 2018-05-03 19:48:15 +00:00
scsi_spec.h scripts/check_format: check for spaces before tabs 2018-03-05 11:09:13 -05:00
scsi.h scsi: Open/close a LUN to remove it safely for iSCSI multi connections 2018-07-17 17:43:28 +00:00
sock.h doc: fix some doxygen warnings 2018-06-19 21:23:06 +00:00
stdinc.h build: Automatically detect use of POSIX includes 2017-05-08 13:20:37 -07:00
string.h string: escape references to \r and \n 2018-06-19 15:18:08 +00:00
thread.h thread: add spdk_thread_get_count() 2018-06-13 00:38:41 +00:00
trace.h doc: fix a bunch of parameter-related Doxygen comments 2018-06-19 17:29:06 +00:00
util.h util: add spdk_u32_is_pow2() function 2017-08-11 19:36:30 -04:00
uuid.h doc: fix a bunch of parameter-related Doxygen comments 2018-06-19 17:29:06 +00:00
version.h version: SPDK 18.07-pre 2018-04-30 16:44:19 +00:00
vhost.h vhost/scsi: do not fail scsi_dev_add_tgt() if hotplug is not supported 2018-07-05 01:51:22 +00:00