From 11047d5b23050b8302fb1e57e6943cd090535145 Mon Sep 17 00:00:00 2001 From: JinYu Date: Fri, 26 Apr 2019 00:45:20 +0800 Subject: [PATCH] nvme: add vfio driver parse event In Fedora release 28, plug in nvme device and run setup.sh, the uevent is like this: UDEV [1060.112118] add /devices/virtual/vfio/81 (vfio) ACTION=add DEVNAME=/dev/vfio/81 DEVPATH=/devices/virtual/vfio/81 MAJOR=509 MINOR=1 SEQNUM=8544 SUBSYSTEM=vfio USEC_INITIALIZED=1060111894 UDEV [1060.122089] bind /devices/pci0000:d7/0000:d7:00.0/0000:d8:00.0 (pci) ACTION=bind DEVPATH=/devices/pci0000:d7/0000:d7:00.0/0000:d8:00.0 DRIVER=vfio-pci ID_MODEL_FROM_DATABASE=PCIe Data Center SSD (DC P3700 SSD [2.5" SFF]) ID_PCI_CLASS_FROM_DATABASE=Mass storage controller ID_PCI_INTERFACE_FROM_DATABASE=NVM Express ID_PCI_SUBCLASS_FROM_DATABASE=Non-Volatile memory controller ID_VENDOR_FROM_DATABASE=Intel Corporation MODALIAS=pci:v00008086d00000953sv00008086sd00003703bc01sc08i02 PCI_CLASS=10802 PCI_ID=8086:0953 PCI_SLOT_NAME=0000:d8:00.0 PCI_SUBSYS_ID=8086:3703 SEQNUM=8545 SUBSYSTEM=pci USEC_INITIALIZED=1060121805 Have tested several kernel versions such as v3.10, v4.10, v4.15, v4.19. We didn't see an event which is like this: ACTION=add DRIVER=vfio-pci Change-Id: I7299a2fb4d634edaa6bab3412ee8f363f66aae6f Signed-off-by: JinYu Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452053 Tested-by: SPDK CI Jenkins Reviewed-by: Changpeng Liu Reviewed-by: Ben Walker --- lib/nvme/nvme_uevent.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/nvme/nvme_uevent.c b/lib/nvme/nvme_uevent.c index 724cbc5c0..45ef60e87 100644 --- a/lib/nvme/nvme_uevent.c +++ b/lib/nvme/nvme_uevent.c @@ -151,7 +151,7 @@ parse_event(const char *buf, struct spdk_uevent *event) struct spdk_pci_addr pci_addr; event->subsystem = SPDK_NVME_UEVENT_SUBSYSTEM_VFIO; - if (!strncmp(action, "add", 3)) { + if (!strncmp(action, "bind", 4)) { event->action = SPDK_NVME_UEVENT_ADD; } if (!strncmp(action, "remove", 6)) {