From 8741f2defaf26aafe5ee0fd29954cfdf84ee519c Mon Sep 17 00:00:00 2001 From: Ryan Harper Date: Fri, 25 Jun 2010 08:59:22 -0500 Subject: [PATCH] Add virtio-blk support to path_id This patch adds a case handling path_id invoked on a virtio-blk device. Currently path_id walks the parent path to virtio-pci but doesn't know that it's the end of the path and exits without building the path (providing no output resulting in no disk/by-path symlinks to virtio-blk devices). This patch handles the virtio-pci path and updates the path accordingly. /lib/udev/path_id --debug /block/vda udev_device_new_from_syspath: device 0x2300120 has devpath '/devices/virtio-pci/virtio1/block/vda' udev_device_new_from_syspath: device 0x2300380 has devpath '/devices/virtio-pci/virtio1' udev_device_new_from_syspath: device 0x2300670 has devpath '/devices/virtio-pci' ID_PATH=virtio-pci-virtio1 And with the current persistent-storage rules generates: % ls -al /dev/disk/by-path | grep vda lrwxrwxrwx. 1 root root 9 Jun 1 22:09 virtio-pci-virtio1 -> ../../vda Signed-off-by: Ryan Harper --- extras/path_id/path_id.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/extras/path_id/path_id.c b/extras/path_id/path_id.c index dcee3788..c19bfd0f 100644 --- a/extras/path_id/path_id.c +++ b/extras/path_id/path_id.c @@ -448,6 +448,9 @@ int main(int argc, char **argv) } else if (strcmp(subsys, "xen") == 0) { path_prepend(&path, "xen-%s", udev_device_get_sysname(parent)); parent = skip_subsystem(parent, "xen"); + } else if (strcmp(subsys, "virtio") == 0) { + path_prepend(&path, "virtio-pci-%s", udev_device_get_sysname(parent)); + parent = skip_subsystem(parent, "virtio"); } parent = udev_device_get_parent(parent); -- 2.39.5