498
497
struct udev_enumerate *udev_enum = NULL;
499
498
struct udev_list_entry *device_entry, *symlink_entry;
500
const char *node_name, *symlink_name;
499
const char *entry_name, *node_name, *symlink_name;
501
500
struct udev_device *device;
508
507
udev_enumerate_scan_devices(udev_enum))
511
* Report any missing information as "log_very_verbose" only, do not
512
* report it as a "warning" or "error" - the record could be removed
513
* by the time we ask for more info (node name, symlink name...).
514
* Whatever removes *any* block device in the system (even unrelated
515
* to our operation), we would have a warning/error on output then.
516
* That could be misleading. If there's really any problem with missing
517
* information from udev db, we can still have a look at the verbose log.
511
519
udev_list_entry_foreach(device_entry, udev_enumerate_get_list_entry(udev_enum)) {
512
if (!(device = udev_device_new_from_syspath(udev, udev_list_entry_get_name(device_entry)))) {
513
log_warn("WARNING: udev failed to return a device entry.");
520
entry_name = udev_list_entry_get_name(device_entry);
522
if (!(device = udev_device_new_from_syspath(udev, entry_name))) {
523
log_very_verbose("udev failed to return a device for entry %s.",
517
528
if (!(node_name = udev_device_get_devnode(device)))
518
log_warn("WARNING: udev failed to return a device node.");
529
log_very_verbose("udev failed to return a device node for entry %s.",
520
532
r &= _insert(node_name, 0, 0);
522
534
udev_list_entry_foreach(symlink_entry, udev_device_get_devlinks_list_entry(device)) {
523
535
if (!(symlink_name = udev_list_entry_get_name(symlink_entry)))
524
log_warn("WARNING: udev failed to return a symlink name.");
536
log_very_verbose("udev failed to return a symlink name for entry %s.",
526
539
r &= _insert(symlink_name, 0, 0);
958
971
if (dev_scan && !trust_cache()) {
959
972
/* Flag gets reset between each command */
960
if (!full_scan_done())
961
persistent_filter_wipe(f); /* Calls _full_scan(1) */
973
if (!full_scan_done()) {
975
f->wipe(f); /* Calls _full_scan(1) */
965
982
di->current = btree_first(_cache.devices);
967
di->filter->use_count++;
985
di->filter->use_count++;
972
990
void dev_iter_destroy(struct dev_iter *iter)
974
iter->filter->use_count--;
993
iter->filter->use_count--;