aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/mount.h
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2019-08-23 19:40:10 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2019-08-23 19:40:10 +0000
commite671edac06b478caaf26a956b94e4532159d162a (patch)
tree05099807ed34286e9bb5a5b689018d18c9801e9d /sys/sys/mount.h
parent95f5211e9a5072bc7e9d34ec05ca1b2b6bb11d86 (diff)
downloadsrc-e671edac06b478caaf26a956b94e4532159d162a.tar.gz
src-e671edac06b478caaf26a956b94e4532159d162a.zip
De-commision the MNTK_NOINSMNTQ kernel mount flag.
After all the changes, its dynamic scope is same as for MNTK_UNMOUNT, but to allow the syncer vnode to be re-installed on unmount failure. But the case of syncer was already handled by using the VV_FORCEINSMQ flag for quite some time. Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week
Notes
Notes: svn path=/head/; revision=351435
Diffstat (limited to 'sys/sys/mount.h')
-rw-r--r--sys/sys/mount.h13
1 files changed, 5 insertions, 8 deletions
diff --git a/sys/sys/mount.h b/sys/sys/mount.h
index 0bd6d9928074..2b7f988b7639 100644
--- a/sys/sys/mount.h
+++ b/sys/sys/mount.h
@@ -368,23 +368,20 @@ void __mnt_vnode_markerfree_active(struct vnode **mvp, struct mount *);
/*
* Internal filesystem control flags stored in mnt_kern_flag.
*
- * MNTK_UNMOUNT locks the mount entry so that name lookup cannot proceed
- * past the mount point. This keeps the subtree stable during mounts
- * and unmounts.
+ * MNTK_UNMOUNT locks the mount entry so that name lookup cannot
+ * proceed past the mount point. This keeps the subtree stable during
+ * mounts and unmounts. When non-forced unmount flushes all vnodes
+ * from the mp queue, the MNTK_UNMOUNT flag prevents insmntque() from
+ * queueing new vnodes.
*
* MNTK_UNMOUNTF permits filesystems to detect a forced unmount while
* dounmount() is still waiting to lock the mountpoint. This allows
* the filesystem to cancel operations that might otherwise deadlock
* with the unmount attempt (used by NFS).
- *
- * MNTK_NOINSMNTQ is strict subset of MNTK_UNMOUNT. They are separated
- * to allow for failed unmount attempt to restore the syncer vnode for
- * the mount.
*/
#define MNTK_UNMOUNTF 0x00000001 /* forced unmount in progress */
#define MNTK_ASYNC 0x00000002 /* filtered async flag */
#define MNTK_SOFTDEP 0x00000004 /* async disabled by softdep */
-#define MNTK_NOINSMNTQ 0x00000008 /* insmntque is not allowed */
#define MNTK_DRAINING 0x00000010 /* lock draining is happening */
#define MNTK_REFEXPIRE 0x00000020 /* refcount expiring is happening */
#define MNTK_EXTENDED_SHARED 0x00000040 /* Allow shared locking for more ops */