aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan K. Hubbard <jkh@FreeBSD.org>1995-08-23 12:59:27 +0000
committerJordan K. Hubbard <jkh@FreeBSD.org>1995-08-23 12:59:27 +0000
commit81b9534dc5bb04c79a0aa03afa6d05b1ee0fc921 (patch)
tree340d104ae478f6cf31ab003881353caef1608de4
parent215b0e62d5e6324dcf37922f17bf728a1025a4b8 (diff)
downloadsrc-81b9534dc5bb04c79a0aa03afa6d05b1ee0fc921.tar.gz
src-81b9534dc5bb04c79a0aa03afa6d05b1ee0fc921.zip
Add a "noauto" flag so that you can do things like prevent your system
from not coming up multiuser just because you have a CD mount in fstab but no CD in the drive. Submitted by: "Full Name Not Supplied" <simon@masi.ibp.fr>
Notes
Notes: svn path=/head/; revision=10199
-rw-r--r--sbin/mount/mntopts.h2
-rw-r--r--sbin/mount/mount.c9
-rw-r--r--sbin/mount_ifs/mntopts.h2
-rw-r--r--sbin/mount_ifs/mount.c9
4 files changed, 16 insertions, 6 deletions
diff --git a/sbin/mount/mntopts.h b/sbin/mount/mntopts.h
index 0e7ab2482995..84e294360514 100644
--- a/sbin/mount/mntopts.h
+++ b/sbin/mount/mntopts.h
@@ -42,6 +42,7 @@ struct mntopt {
/* User-visible MNT_ flags. */
#define MOPT_ASYNC { "async", 0, MNT_ASYNC, 0 }
+#define MOPT_NOAUTO { "auto", 1, MNT_NOAUTO, 0 }
#define MOPT_NODEV { "dev", 1, MNT_NODEV, 0 }
#define MOPT_NOEXEC { "exec", 1, MNT_NOEXEC, 0 }
#define MOPT_NOSUID { "suid", 1, MNT_NOSUID, 0 }
@@ -68,6 +69,7 @@ struct mntopt {
/* Standard options which all mounts can understand. */
#define MOPT_STDOPTS \
MOPT_FSTAB_COMPAT, \
+ MOPT_NOAUTO, \
MOPT_NODEV, \
MOPT_NOEXEC, \
MOPT_NOSUID, \
diff --git a/sbin/mount/mount.c b/sbin/mount/mount.c
index 2121ae11d0eb..bcf65a3430cb 100644
--- a/sbin/mount/mount.c
+++ b/sbin/mount/mount.c
@@ -84,6 +84,7 @@ static struct opt {
{ MNT_ASYNC, "asynchronous" },
{ MNT_EXPORTED, "NFS exported" },
{ MNT_LOCAL, "local" },
+ { MNT_NOAUTO, "noauto" },
{ MNT_NODEV, "nodev" },
{ MNT_NOEXEC, "noexec" },
{ MNT_NOSUID, "nosuid" },
@@ -166,10 +167,12 @@ main(argc, argv)
continue;
if (badvfsname(fs->fs_vfstype, vfslist))
continue;
+ if (!strstr(fs->fs_mntops, "noauto")) {
if (mountfs(fs->fs_vfstype, fs->fs_spec,
- fs->fs_file, init_flags, options,
- fs->fs_mntops))
- rval = 1;
+ fs->fs_file, init_flags, options,
+ fs->fs_mntops))
+ rval = 1;
+ }
}
else {
if ((mntsize = getmntinfo(&mntbuf, MNT_NOWAIT)) == 0)
diff --git a/sbin/mount_ifs/mntopts.h b/sbin/mount_ifs/mntopts.h
index 0e7ab2482995..84e294360514 100644
--- a/sbin/mount_ifs/mntopts.h
+++ b/sbin/mount_ifs/mntopts.h
@@ -42,6 +42,7 @@ struct mntopt {
/* User-visible MNT_ flags. */
#define MOPT_ASYNC { "async", 0, MNT_ASYNC, 0 }
+#define MOPT_NOAUTO { "auto", 1, MNT_NOAUTO, 0 }
#define MOPT_NODEV { "dev", 1, MNT_NODEV, 0 }
#define MOPT_NOEXEC { "exec", 1, MNT_NOEXEC, 0 }
#define MOPT_NOSUID { "suid", 1, MNT_NOSUID, 0 }
@@ -68,6 +69,7 @@ struct mntopt {
/* Standard options which all mounts can understand. */
#define MOPT_STDOPTS \
MOPT_FSTAB_COMPAT, \
+ MOPT_NOAUTO, \
MOPT_NODEV, \
MOPT_NOEXEC, \
MOPT_NOSUID, \
diff --git a/sbin/mount_ifs/mount.c b/sbin/mount_ifs/mount.c
index 2121ae11d0eb..bcf65a3430cb 100644
--- a/sbin/mount_ifs/mount.c
+++ b/sbin/mount_ifs/mount.c
@@ -84,6 +84,7 @@ static struct opt {
{ MNT_ASYNC, "asynchronous" },
{ MNT_EXPORTED, "NFS exported" },
{ MNT_LOCAL, "local" },
+ { MNT_NOAUTO, "noauto" },
{ MNT_NODEV, "nodev" },
{ MNT_NOEXEC, "noexec" },
{ MNT_NOSUID, "nosuid" },
@@ -166,10 +167,12 @@ main(argc, argv)
continue;
if (badvfsname(fs->fs_vfstype, vfslist))
continue;
+ if (!strstr(fs->fs_mntops, "noauto")) {
if (mountfs(fs->fs_vfstype, fs->fs_spec,
- fs->fs_file, init_flags, options,
- fs->fs_mntops))
- rval = 1;
+ fs->fs_file, init_flags, options,
+ fs->fs_mntops))
+ rval = 1;
+ }
}
else {
if ((mntsize = getmntinfo(&mntbuf, MNT_NOWAIT)) == 0)