Lines Matching refs:syspath

306 static char *get_pci_driver(char const *syspath, int pathlen, Error **errp)  in get_pci_driver()  argument
314 path = g_strndup(syspath, pathlen); in get_pci_driver()
335 static int build_hosts(char const *syspath, char const *host, bool ata, in build_hosts() argument
343 path = g_strndup(syspath, host - syspath); in build_hosts()
374 static bool build_guest_fsinfo_for_pci_dev(char const *syspath, in build_guest_fsinfo_for_pci_dev() argument
385 p = strstr(syspath, "/devices/pci"); in build_guest_fsinfo_for_pci_dev()
388 g_debug("only pci device is supported: sysfs path '%s'", syspath); in build_guest_fsinfo_for_pci_dev()
394 driver = get_pci_driver(syspath, p - syspath, errp); in build_guest_fsinfo_for_pci_dev()
412 g_debug("unsupported driver or sysfs path '%s'", syspath); in build_guest_fsinfo_for_pci_dev()
416 p = strstr(syspath, "/target"); in build_guest_fsinfo_for_pci_dev()
422 p = strstr(syspath, "/ata"); in build_guest_fsinfo_for_pci_dev()
427 p = strstr(syspath, "/host"); in build_guest_fsinfo_for_pci_dev()
432 nhosts = build_hosts(syspath, p, has_ata, hosts, in build_guest_fsinfo_for_pci_dev()
447 g_debug("invalid sysfs path '%s' (driver '%s')", syspath, driver); in build_guest_fsinfo_for_pci_dev()
459 g_debug("no host for '%s' (driver '%s')", syspath, driver); in build_guest_fsinfo_for_pci_dev()
465 g_debug("invalid sysfs path '%s' (driver '%s')", syspath, driver); in build_guest_fsinfo_for_pci_dev()
482 g_debug("invalid sysfs path '%s' (driver '%s')", syspath, driver); in build_guest_fsinfo_for_pci_dev()
493 g_debug("no host for '%s' (driver '%s')", syspath, driver); in build_guest_fsinfo_for_pci_dev()
501 g_debug("unknown driver '%s' (sysfs path '%s')", driver, syspath); in build_guest_fsinfo_for_pci_dev()
517 static bool build_guest_fsinfo_for_nonpci_virtio(char const *syspath, in build_guest_fsinfo_for_nonpci_virtio() argument
524 if (!strstr(syspath, "/virtio") || !strstr(syspath, "/block")) { in build_guest_fsinfo_for_nonpci_virtio()
525 g_debug("Unsupported virtio device '%s'", syspath); in build_guest_fsinfo_for_nonpci_virtio()
529 p = strstr(syspath, "/target"); in build_guest_fsinfo_for_nonpci_virtio()
549 static bool build_guest_fsinfo_for_ccw_dev(char const *syspath, in build_guest_fsinfo_for_ccw_dev() argument
556 p = strstr(syspath, "/devices/css"); in build_guest_fsinfo_for_ccw_dev()
559 g_debug("could not parse ccw device sysfs path: %s", syspath); in build_guest_fsinfo_for_ccw_dev()
570 build_guest_fsinfo_for_nonpci_virtio(syspath, disk, errp); in build_guest_fsinfo_for_ccw_dev()
577 static void build_guest_fsinfo_for_real_device(char const *syspath, in build_guest_fsinfo_for_real_device() argument
601 udevice = udev_device_new_from_syspath(udev, syspath); in build_guest_fsinfo_for_real_device()
620 if (strstr(syspath, "/devices/pci")) { in build_guest_fsinfo_for_real_device()
621 has_hwinf = build_guest_fsinfo_for_pci_dev(syspath, disk, errp); in build_guest_fsinfo_for_real_device()
622 } else if (strstr(syspath, "/devices/css")) { in build_guest_fsinfo_for_real_device()
623 has_hwinf = build_guest_fsinfo_for_ccw_dev(syspath, disk, errp); in build_guest_fsinfo_for_real_device()
624 } else if (strstr(syspath, "/virtio")) { in build_guest_fsinfo_for_real_device()
625 has_hwinf = build_guest_fsinfo_for_nonpci_virtio(syspath, disk, errp); in build_guest_fsinfo_for_real_device()
627 g_debug("Unsupported device type for '%s'", syspath); in build_guest_fsinfo_for_real_device()
644 static void build_guest_fsinfo_for_virtual_device(char const *syspath, in build_guest_fsinfo_for_virtual_device() argument
653 dirpath = g_strdup_printf("%s/slaves", syspath); in build_guest_fsinfo_for_virtual_device()
677 path = g_strdup_printf("%s/slaves/%s", syspath, entry->d_name); in build_guest_fsinfo_for_virtual_device()
694 g_autofree char *syspath = realpath(devpath, NULL); in is_disk_virtual() local
696 if (!syspath) { in is_disk_virtual()
700 return strstr(syspath, "/devices/virtual/block/") != NULL; in is_disk_virtual()
709 g_autofree char *syspath = NULL; in build_guest_fsinfo_for_device() local
712 syspath = realpath(devpath, NULL); in build_guest_fsinfo_for_device()
713 if (!syspath) { in build_guest_fsinfo_for_device()
727 fs->name = g_path_get_basename(syspath); in build_guest_fsinfo_for_device()
730 g_debug(" parse sysfs path '%s'", syspath); in build_guest_fsinfo_for_device()
731 is_virtual = is_disk_virtual(syspath, errp); in build_guest_fsinfo_for_device()
736 build_guest_fsinfo_for_virtual_device(syspath, fs, errp); in build_guest_fsinfo_for_device()
738 build_guest_fsinfo_for_real_device(syspath, fs, errp); in build_guest_fsinfo_for_device()
748 static GuestDiskAddress *get_disk_address(const char *syspath, Error **errp) in get_disk_address() argument
753 build_guest_fsinfo_for_device(syspath, fs, errp); in get_disk_address()
760 static char *get_alias_for_syspath(const char *syspath) in get_alias_for_syspath() argument
771 udevice = udev_device_new_from_syspath(udev, syspath); in get_alias_for_syspath()
773 g_debug("failed to query udev for path: %s", syspath); in get_alias_for_syspath()
784 syspath); in get_alias_for_syspath()
796 static char *get_device_for_syspath(const char *syspath) in get_device_for_syspath() argument
807 udevice = udev_device_new_from_syspath(udev, syspath); in get_device_for_syspath()
809 g_debug("failed to query udev for path: %s", syspath); in get_device_for_syspath()