--- mountall.c.orig 2010-03-01 06:02:34.000000000 -0500 +++ mountall.c 2010-03-10 22:00:40.000000000 -0500 @@ -936,6 +936,12 @@ } } +static int +is_root (Mount *mnt) +{ + return ! strcmp (mnt->mountpoint, "/"); +} + void mount_policy (void) { @@ -1151,7 +1157,7 @@ if (tag == TAG_UNKNOWN) { if (! strcmp (mnt->type, "swap")) { tag = TAG_SWAP; - } else if (! strcmp (mnt->mountpoint, "/")) { + } else if (is_root (mnt)) { nih_debug ("%s is root filesystem", MOUNT_NAME (mnt)); tag = TAG_LOCAL; } else if (is_remote (mnt)) { @@ -1728,7 +1734,7 @@ if (fake) { spawn (mnt, args, TRUE, NULL); - } else if (! is_remote (mnt)) { + } else if (! is_remote (mnt) || is_root (mnt)) { spawn (mnt, args, TRUE, run_mount_finished); } else { mnt->mount_pid = spawn (mnt, args, FALSE, run_mount_finished);