summaryrefslogtreecommitdiffstats
path: root/sys/sys
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2000-07-04 04:58:34 +0000
committermckusick <mckusick@FreeBSD.org>2000-07-04 04:58:34 +0000
commit5e6b00a0a70c6df314384e61f6db7131308e1add (patch)
tree63aeae2ac4bafff3e2991ec769442667a718abfe /sys/sys
parent2f0e9591fa0ef8bf1039608fd618c45ca89f9ec5 (diff)
downloadFreeBSD-src-5e6b00a0a70c6df314384e61f6db7131308e1add.zip
FreeBSD-src-5e6b00a0a70c6df314384e61f6db7131308e1add.tar.gz
Get userland visible flags added for snapshots to give a few days
advance preparation for them to get migrated into place so that subsequent changes in utilities will not fail to compile for lack of up-to-date header files in /usr/include.
Diffstat (limited to 'sys/sys')
-rw-r--r--sys/sys/mount.h17
-rw-r--r--sys/sys/stat.h1
2 files changed, 14 insertions, 4 deletions
diff --git a/sys/sys/mount.h b/sys/sys/mount.h
index 5e3484e..5f963c2 100644
--- a/sys/sys/mount.h
+++ b/sys/sys/mount.h
@@ -114,6 +114,7 @@ struct mount {
struct vnode *mnt_syncer; /* syncer vnode */
struct vnodelst mnt_vnodelist; /* list of vnodes this mount */
struct lock mnt_lock; /* mount structure lock */
+ int mnt_writeopcount; /* write syscalls in progress */
int mnt_flag; /* flags shared with user */
int mnt_kern_flag; /* kernel only flags */
int mnt_maxsymlinklen; /* max size of short symlink */
@@ -165,7 +166,6 @@ struct mount {
* Mask of flags that are visible to statfs()
* XXX I think that this could now become (~(MNT_CMDFLAGS))
* but the 'mount' program may need changing to handle this.
- * XXX MNT_EXPUBLIC is presently left out. I don't know why.
*/
#define MNT_VISFLAGMASK (MNT_RDONLY | MNT_SYNCHRONOUS | MNT_NOEXEC | \
MNT_NOSUID | MNT_NODEV | MNT_UNION | \
@@ -174,8 +174,7 @@ struct mount {
MNT_LOCAL | MNT_USER | MNT_QUOTA | \
MNT_ROOTFS | MNT_NOATIME | MNT_NOCLUSTERR| \
MNT_NOCLUSTERW | MNT_SUIDDIR | MNT_SOFTDEP | \
- MNT_IGNORE \
- /* | MNT_EXPUBLIC */)
+ MNT_IGNORE | MNT_EXPUBLIC | MNT_NOSYMFOLLOW)
/*
* External filesystem command modifier flags.
* Unmount can use the MNT_FORCE flag.
@@ -185,7 +184,15 @@ struct mount {
#define MNT_DELEXPORT 0x00020000 /* delete export host lists */
#define MNT_RELOAD 0x00040000 /* reload filesystem data */
#define MNT_FORCE 0x00080000 /* force unmount or readonly change */
-#define MNT_CMDFLAGS (MNT_UPDATE|MNT_DELEXPORT|MNT_RELOAD|MNT_FORCE)
+#define MNT_SNAPSHOT 0x01000000 /* snapshot the filesystem */
+#define MNT_CMDFLAGS (MNT_UPDATE | MNT_DELEXPORT | MNT_RELOAD | \
+ MNT_FORCE | MNT_SNAPSHOT)
+/*
+ * Still available
+ */
+#define MNT_SPARE1 0x02000000
+#define MNT_SPARE2 0x04000000
+#define MNT_SPARE3 0x08000000
/*
* Internal filesystem control flags stored in mnt_kern_flag.
*
@@ -196,6 +203,8 @@ struct mount {
#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 */
+#define MNTK_SUSPEND 0x08000000 /* request write suspension */
+#define MNTK_SUSPENDED 0x10000000 /* write operations are suspended */
/*
* Sysctl CTL_VFS definitions.
diff --git a/sys/sys/stat.h b/sys/sys/stat.h
index 21cfbc4..15367b3 100644
--- a/sys/sys/stat.h
+++ b/sys/sys/stat.h
@@ -222,6 +222,7 @@ struct nstat {
#define SF_IMMUTABLE 0x00020000 /* file may not be changed */
#define SF_APPEND 0x00040000 /* writes to file may only append */
#define SF_NOUNLINK 0x00100000 /* file may not be removed or renamed */
+#define SF_SNAPSHOT 0x00200000 /* snapshot inode */
#ifdef _KERNEL
/*
OpenPOWER on IntegriCloud