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/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
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_fabrics_host
|
||||
- @ref nvme_multi_process
|
||||
- @ref nvme_hotplug
|
||||
|
Loading…
x
Reference in New Issue
Block a user