-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hi,
I think sometimes it's desirable to mark a few file systems as 'failok', which means it's Ok to have these mounts failed on boot and something else (a script, cron job, etc) will handle the case. Here is a proposed patch to implement that, I'll document it if there is no objection on the functionality itself. Cheers, - -- Xin LI <delp...@delphij.net> http://www.delphij.net/ FreeBSD - The Power to Serve! Live free or die -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (FreeBSD) iQEcBAEBCAAGBQJN7RWxAAoJEATO+BI/yjfBEKEH/0yenOjZMhl3UdtUNDGs5UBN v2Zhx3DcgvU4LCkwJEYYNXXCBYCKXMh0jBAYKhGUuKr8yOps74u9sHGDb278dn3+ hOOV/Xw4IZdjUGutezzRT8iImkVis4okEjuXX4fU/58y95jwIrcL7QXLGqerCsfe n1U6T/RcIw5AB1R184+BxeuOEVhEl/siR8AdswKxc06UgkMPc3942WRCwHvfi2qz 44m9jYV+JM3Y2eYtriBRFlqdicbzbiUAXnLFtQigpl/bUKRUyXdfOaT94Jfy48uO 9LX6aNftF5rdfDKFfRKXnFbXjn/to4r+1H5ck8ZDsnShlYVlsQbZaTvD6cP8d4Y= =VRq0 -----END PGP SIGNATURE-----
Index: mount.c =================================================================== --- mount.c (revision 222765) +++ mount.c (working copy) @@ -243,7 +243,7 @@ const char *mntfromname, **vfslist, *vfstype; struct fstab *fs; struct statfs *mntbuf; - int all, ch, i, init_flags, late, mntsize, rval, have_fstab, ro; + int all, ch, i, init_flags, late, failok, mntsize, rval, have_fstab, ro; char *cp, *ep, *options; all = init_flags = late = 0; @@ -328,6 +328,10 @@ continue; if (hasopt(fs->fs_mntops, "late") && !late) continue; + if (hasopt(fs->fs_mntops, "failok")) + failok = 1; + else + failok = 0; if (!(init_flags & MNT_UPDATE) && ismounted(fs, mntbuf, mntsize)) continue; @@ -335,7 +339,7 @@ mntbuf->f_flags); if (mountfs(fs->fs_vfstype, fs->fs_spec, fs->fs_file, init_flags, options, - fs->fs_mntops)) + fs->fs_mntops) && !failok) rval = 1; } } else if (fstab_style) { @@ -717,6 +721,14 @@ * before mountd starts. */ continue; + } else if (strcmp(p, "failok") == 0) { + /* + * "failok" is used to prevent certain file + * systems from being causing the system to + * drop into single user mode in the boot + * cycle, and is not a real mount option. + */ + continue; } else if (strncmp(p, "mountprog", 9) == 0) { /* * "mountprog" is used to force the use of
_______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"