Revision
23465
Author
zarzycki@apple.com
Date
2007-12-12 13:54:32 -0800 (Wed, 12 Dec 2007)

Log Message

We should walk the mount table list backwards.

Modified Paths

Diff

Modified: trunk/launchd/src/launchd_core_logic.c (23464 => 23465)


--- trunk/launchd/src/launchd_core_logic.c	2007-12-12 21:12:28 UTC (rev 23464)
+++ trunk/launchd/src/launchd_core_logic.c	2007-12-12 21:54:32 UTC (rev 23465)
@@ -6701,7 +6701,7 @@
 void
 do_unmounts(void)
 {
-	struct statfs buf[100];
+	struct statfs buf[250];
 	int i, found, returned;
 
 	do {
@@ -6712,7 +6712,8 @@
 			return;
 		}
 
-		for (i = 0; i < returned; i++) {
+		/* Work backwards due to mounts on top of mounts */
+		for (i = returned - 1; i >= 0; i--) {
 			if (strcmp(buf[i].f_mntonname, "/") == 0) {
 				continue;
 			} else if (strncmp(buf[i].f_mntonname, "/dev", strlen("/dev")) == 0) {