aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/mount.h
diff options
context:
space:
mode:
authorJulian Elischer <julian@FreeBSD.org>1997-11-12 05:42:33 +0000
committerJulian Elischer <julian@FreeBSD.org>1997-11-12 05:42:33 +0000
commitb1f4a44b03989b5d653f0a738f200d5784808bbc (patch)
treee7e8ad8487595b193cff8ede198c1cb9f08fa787 /sys/sys/mount.h
parente3f8c97942e4c1ee98b4010ef5e5305886862f41 (diff)
downloadsrc-b1f4a44b03989b5d653f0a738f200d5784808bbc.tar.gz
src-b1f4a44b03989b5d653f0a738f200d5784808bbc.zip
Reviewed by: various.
Ever since I first say the way the mount flags were used I've hated the fact that modes, and events, internal and exported, and short-term and long term flags are all thrown together. Finally it's annoyed me enough.. This patch to the entire FreeBSD tree adds a second mount flag word to the mount struct. it is not exported to userspace. I have moved some of the non exported flags over to this word. this means that we now have 8 free bits in the mount flags. There are another two that might well move over, but which I'm not sure about. The only user visible change would have been in pstat -v, except that davidg has disabled it anyhow. I'd still like to move the state flags and the 'command' flags apart from each other.. e.g. MNT_FORCE really doesn't have the same semantics as MNT_RDONLY, but that's left for another day.
Notes
Notes: svn path=/head/; revision=31132
Diffstat (limited to 'sys/sys/mount.h')
-rw-r--r--sys/sys/mount.h18
1 files changed, 10 insertions, 8 deletions
diff --git a/sys/sys/mount.h b/sys/sys/mount.h
index 8c3d1bf63de9..d787a012f367 100644
--- a/sys/sys/mount.h
+++ b/sys/sys/mount.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)mount.h 8.21 (Berkeley) 5/20/95
- * $Id: mount.h,v 1.47 1997/09/27 13:39:49 kato Exp $
+ * $Id: mount.h,v 1.48 1997/10/12 20:26:02 phk Exp $
*/
#ifndef _SYS_MOUNT_H_
@@ -78,7 +78,7 @@ struct statfs {
fsid_t f_fsid; /* file system id */
uid_t f_owner; /* user that mounted the filesystem */
int f_type; /* type of filesystem (see below) */
- int f_flags; /* copy of mount flags */
+ int f_flags; /* copy of mount exported flags */
long f_spare[2]; /* spare for later */
char f_fstypename[MFSNAMELEN]; /* fs type name */
char f_mntonname[MNAMELEN]; /* directory on which mounted */
@@ -146,7 +146,8 @@ struct mount {
struct vnode *mnt_vnodecovered; /* vnode we mounted on */
struct vnodelst mnt_vnodelist; /* list of vnodes this mount */
struct lock mnt_lock; /* mount structure lock */
- int mnt_flag; /* flags */
+ int mnt_flag; /* exported flags */
+ int mnt_kern_flag; /* kernel only flags */
int mnt_maxsymlinklen; /* max size of short symlink */
struct statfs mnt_stat; /* cache of filesystem stats */
qaddr_t mnt_data; /* private data */
@@ -165,7 +166,7 @@ struct mount {
#define MNT_NODEV 0x00000010 /* don't interpret special files */
#define MNT_UNION 0x00000020 /* union with underlying filesystem */
#define MNT_ASYNC 0x00000040 /* file system written asynchronously */
-#define MNT_NOATIME 0x10000000 /* Disable update of file access times */
+#define MNT_NOATIME 0x10000000 /* Disable update of file access time */
#define MNT_NOCLUSTERR 0x40000000 /* Disable cluster read */
#define MNT_NOCLUSTERW 0x80000000 /* Disable cluster read */
@@ -194,7 +195,8 @@ struct mount {
MNT_NODEV|MNT_UNION|MNT_ASYNC|MNT_EXRDONLY| \
MNT_EXPORTED|MNT_DEFEXPORTED|MNT_EXPORTANON| \
MNT_EXKERB|MNT_LOCAL|MNT_USER|MNT_QUOTA|MNT_ROOTFS| \
- MNT_NOATIME|MNT_NOCLUSTERR|MNT_NOCLUSTERW)
+ MNT_NOATIME|MNT_NOCLUSTERR|MNT_NOCLUSTERW \
+ /* | MNT_EXPUBLIC */)
/*
* External filesystem control flags.
@@ -210,9 +212,9 @@ struct mount {
* past the mount point. This keeps the subtree stable during mounts
* and unmounts.
*/
-#define MNT_UNMOUNT 0x01000000 /* unmount in progress */
-#define MNT_MWAIT 0x02000000 /* waiting for unmount to finish */
-#define MNT_WANTRDWR 0x04000000 /* upgrade to read/write requested */
+#define MNTK_UNMOUNT 0x01000000 /* unmount in progress */
+#define MNTK_MWAIT 0x02000000 /* waiting for unmount to finish */
+#define MNTK_WANTRDWR 0x04000000 /* upgrade to read/write requested */
/*
* Sysctl CTL_VFS definitions.