doc: Add initial documentation for nvme hotplug.
Change-Id: I67303d07aee931d19b3a9ae1e618d22fc6de9f58 Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
This commit is contained in:
parent
790bad22c3
commit
3979c15f66
@ -772,6 +772,7 @@ INPUT = ../include/spdk \
|
|||||||
nvme/async_completion.md \
|
nvme/async_completion.md \
|
||||||
nvme/fabrics.md \
|
nvme/fabrics.md \
|
||||||
nvme/initialization.md \
|
nvme/initialization.md \
|
||||||
|
nvme/hotplug.md \
|
||||||
nvme/io_submission.md \
|
nvme/io_submission.md \
|
||||||
nvme/multi_process.md \
|
nvme/multi_process.md \
|
||||||
nvmf/index.md \
|
nvmf/index.md \
|
||||||
|
19
doc/nvme/hotplug.md
Normal file
19
doc/nvme/hotplug.md
Normal 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
|
@ -24,3 +24,4 @@ spdk_nvme_ctrlr_process_admin_completions() | @copybrief spdk_nvme_ctrlr_process
|
|||||||
- @ref nvme_async_completion
|
- @ref nvme_async_completion
|
||||||
- @ref nvme_fabrics_host
|
- @ref nvme_fabrics_host
|
||||||
- @ref nvme_multi_process
|
- @ref nvme_multi_process
|
||||||
|
- @ref nvme_hotplug
|
||||||
|
Loading…
Reference in New Issue
Block a user