]> git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/doc/nvme/hotplug.md
bump version to 12.2.12-pve1
[ceph.git] / ceph / src / spdk / doc / nvme / hotplug.md
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