From d63cd1bf1cec62dcdfaf89e821b55c4d80421ba6 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Fri, 13 Feb 2009 00:02:54 +0000 Subject: [PATCH] mdev: if /sys/class/block exists, don't scan /sys/block --- util-linux/mdev.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/util-linux/mdev.c b/util-linux/mdev.c index 0460aa777..78bb48ac0 100644 --- a/util-linux/mdev.c +++ b/util-linux/mdev.c @@ -420,10 +420,17 @@ int mdev_main(int argc UNUSED_PARAM, char **argv) * /sys/block/loop* (for example) are symlinks to dirs, * not real directories. * (kernel's CONFIG_SYSFS_DEPRECATED makes them real dirs, - * but we can't enforce that on users) */ - recursive_action("/sys/block", - ACTION_RECURSE | ACTION_FOLLOWLINKS | ACTION_QUIET, - fileAction, dirAction, temp, 0); + * but we can't enforce that on users) + */ + if (access("/sys/class/block", F_OK) != 0) { + /* Scan obsolete /sys/block only if /sys/class/block + * doesn't exist. Otherwise we'll have dupes. + */ + recursive_action("/sys/block", + ACTION_RECURSE | ACTION_FOLLOWLINKS, + // not needed now? | ACTION_QUIET + fileAction, dirAction, temp, 0); + } recursive_action("/sys/class", ACTION_RECURSE | ACTION_FOLLOWLINKS, fileAction, dirAction, temp, 0);