From 67075bb95f23233c49628a624cc6ba86c3462dcb Mon Sep 17 00:00:00 2001
From: Denis Vlasenko <vda.linux@googlemail.com>
Date: Sun, 6 Jul 2008 17:00:49 +0000
Subject: mdev: reinstate "follow symlinks" flag, this time with explanation

---
 util-linux/mdev.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/util-linux/mdev.c b/util-linux/mdev.c
index 9c4938a70..a4c0520ac 100644
--- a/util-linux/mdev.c
+++ b/util-linux/mdev.c
@@ -420,14 +420,17 @@ int mdev_main(int argc, char **argv)
 		root_major = major(st.st_dev);
 		root_minor = minor(st.st_dev);
 
+		/* ACTION_FOLLOWLINKS is needed since in newer kernels
+		 * /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 /* no ACTION_FOLLOWLINKS! */,
+			ACTION_RECURSE | ACTION_FOLLOWLINKS,
 			fileAction, dirAction, temp, 0);
-
 		recursive_action("/sys/class",
-			ACTION_RECURSE /* no ACTION_FOLLOWLINKS! */,
+			ACTION_RECURSE | ACTION_FOLLOWLINKS,
 			fileAction, dirAction, temp, 0);
-
 	} else {
 		/* Hotplug:
 		 * env ACTION=... DEVPATH=... mdev
-- 
cgit v1.2.3-55-g6feb