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