doc: Add initial documentation for iscsi hotplug.

Change-Id: I432b83c9bf4a39cd061579d0318b91903299e080
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
This commit is contained in:
Cunyin Chang 2017-03-10 13:07:33 +08:00 committed by Daniel Verkamp
parent 3979c15f66
commit 1054432d06
3 changed files with 23 additions and 0 deletions

View File

@ -768,6 +768,7 @@ INPUT = ../include/spdk \
ioat/index.md \
iscsi/index.md \
iscsi/getting_started.md \
iscsi/hotplug.md \
nvme/index.md \
nvme/async_completion.md \
nvme/fabrics.md \

21
doc/iscsi/hotplug.md Normal file
View File

@ -0,0 +1,21 @@
# iSCSI Hotplug {#iscsi_hotplug}
At the iSCSI level, we provide the following support for Hotplug:
1. bdev/nvme:
At the bdev/nvme level, we start one hotplug monitor which will call
spdk_nvme_probe() periodically to get the hotplug events. We provide the
private attach_cb and remove_cb for spdk_nvme_probe(). For the attach_cb,
we will create the block device base on the NVMe device attached, and for the
remove_cb, we will unregister the block device, which will also notify the
upper level stack (for iSCSI target, the upper level stack is scsi/lun) to
handle the hot-remove event.
2. scsi/lun:
When the LUN receive the hot-remove notification from block device layer,
the LUN will be marked as removed, and all the IOs after this point will
return with check condition status. Then the LUN starts one poller which will
wait for all the commands which have already been submitted to block device to
return back; after all the commands return back, the LUN will be deleted.
@sa spdk_nvme_probe

View File

@ -1,3 +1,4 @@
# iSCSI Target {#iscsi}
- @ref iscsi_getting_started
- @ref iscsi_hotplug