mountlate being too mount-happy

Eitan Adler lists at eitanadler.com
Fri Nov 2 14:22:15 UTC 2012


On 2 November 2012 09:56, Chris Rees <utisoft at gmail.com> wrote:
> I'll take a look.

untested:

diff --git a/sbin/mount/mount.c b/sbin/mount/mount.c
index 1984eac..167c90c 100644
--- a/sbin/mount/mount.c
+++ b/sbin/mount/mount.c
@@ -245,14 +245,15 @@ main(int argc, char *argv[])
 	struct fstab *fs;
 	struct statfs *mntbuf;
 	int all, ch, i, init_flags, late, failok, mntsize, rval, have_fstab, ro;
+	int onlylate;
 	char *cp, *ep, *options;

-	all = init_flags = late = 0;
+	all = init_flags = late = onlylate = 0;
 	ro = 0;
 	options = NULL;
 	vfslist = NULL;
 	vfstype = "ufs";
-	while ((ch = getopt(argc, argv, "adF:flo:prt:uvw")) != -1)
+	while ((ch = getopt(argc, argv, "adF:fLlo:prt:uvw")) != -1)
 		switch (ch) {
 		case 'a':
 			all = 1;
@@ -269,6 +270,9 @@ main(int argc, char *argv[])
 		case 'l':
 			late = 1;
 			break;
+		case 'L':
+			onlylate = 1;
+			break;
 		case 'o':
 			if (*optarg) {
 				options = catopt(options, optarg);
@@ -329,6 +333,8 @@ main(int argc, char *argv[])
 					continue;
 				if (hasopt(fs->fs_mntops, "late") && !late)
 					continue;
+				if (!hasopt(fs->fs_mntops, "late") && onlylate)
+					continue;
 				if (hasopt(fs->fs_mntops, "failok"))
 					failok = 1;
 				else



-- 
Eitan Adler


More information about the freebsd-rc mailing list