+ /* if block isn't a class, scan /block/ */
+ util_strlcpy(base, udev_get_sys_path(udev), sizeof(base));
+ util_strlcat(base, "/class/block", sizeof(base));
+ if (stat(base, &statbuf) != 0) {
+ struct udev_list_entry *include_list = list_get_entry(&subsystem_include_list);
+ struct udev_list_entry *exclude_list = list_get_entry(&subsystem_exclude_list);
+ int include_block = (include_list == NULL || udev_list_entry_get_by_name(include_list, "block") != NULL);
+ int exclude_block = (udev_list_entry_get_by_name(exclude_list, "block") != NULL);
+
+ if (include_block && !exclude_block) {
+ info(udev, "searching '/block/*/*' dir\n");
+ /* scan disks */
+ devices_scan_subsystem(udev, "/block", NULL, NULL, &udev_enumerate->devices_list);
+ /* scan partitions */
+ devices_scan_subsystems(udev, "/block", NULL,
+ NULL, NULL,
+ &udev_enumerate->devices_list);
+ }
+ }