doc: Add initial documentation for nvme hotplug.

Change-Id: I67303d07aee931d19b3a9ae1e618d22fc6de9f58
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
This commit is contained in:
Cunyin Chang 2017-03-10 11:42:41 +08:00 committed by Daniel Verkamp
parent 790bad22c3
commit 3979c15f66
3 changed files with 21 additions and 0 deletions

View File

@ -772,6 +772,7 @@ INPUT = ../include/spdk \
nvme/async_completion.md \
nvme/fabrics.md \
nvme/initialization.md \
nvme/hotplug.md \
nvme/io_submission.md \
nvme/multi_process.md \
nvmf/index.md \

19
doc/nvme/hotplug.md Normal file
View File

@ -0,0 +1,19 @@
# NVMe Hotplug {#nvme_hotplug}
At the NVMe driver level, we provide the following support for Hotplug:
1. Hotplug events detection:
The user of the NVMe library can call spdk_nvme_probe() periodically to detect
hotplug events. The probe_cb, followed by the attach_cb, will be called for each
new device detected. The user may optionally also provide a remove_cb that will be
called if a previously attached NVMe device is no longer present on the system.
All subsequent I/O to the removed device will return an error.
2. Hot remove NVMe with IO loads:
When a device is hot removed while I/O is occurring, all access to the PCI BAR will
result in a SIGBUS error. The NVMe driver automatically handles this case by installing
a SIGBUS handler and remapping the PCI BAR to a new, placeholder memory location.
This means I/O in flight during a hot remove will complete with an appropriate error
code and will not crash the application.
@sa spdk_nvme_probe

View File

@ -24,3 +24,4 @@ spdk_nvme_ctrlr_process_admin_completions() | @copybrief spdk_nvme_ctrlr_process
- @ref nvme_async_completion
- @ref nvme_fabrics_host
- @ref nvme_multi_process
- @ref nvme_hotplug