1 # NVMe Hotplug {#nvme_hotplug}
3 At the NVMe driver level, we provide the following support for Hotplug:
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.
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.