Sophie

Sophie

distrib > Fedora > 16 > x86_64 > media > updates-src > by-pkgid > 902cd34854d65f1ebabd39a5405f2126 > files > 13

util-linux-2.20.1-2.3.fc16.src.rpm

--- a/sys-utils/switch_root.c
+++ b/sys-utils/switch_root.c
@@ -40,6 +40,10 @@
 #define MS_MOVE 8192
 #endif
 
+#ifndef MNT_DETACH
+#define MNT_DETACH       0x00000002	/* Just detach from the tree */
+#endif
+
 /* remove all files/directories below dirName -- don't cross mountpoints */
 static int recursiveRemove(int fd)
 {
@@ -131,7 +135,7 @@ static int switchroot(const char *newroot)
 
 		if ((stat(newmount, &sb) != 0) || (sb.st_dev != newroot_stat.st_dev)) {
 			/* mount point seems to be mounted already or stat failed */
-			umount(umounts[i]);
+			umount2(umounts[i], MNT_DETACH);
 			continue;
 		}
 
-- 
1.7.7.5