MNTK_UNMOUNT
if ((mp->mnt_kern_flag & MNTK_UNMOUNT) != 0) {
mp->mnt_kern_flag |= MNTK_UNMOUNT | MNTK_UNMOUNTF;
if ((mp->mnt_kern_flag & MNTK_UNMOUNT) != 0) {
(mp->mnt_kern_flag & (MNTK_UNMOUNT | MNTK_SUSPEND)) == 0, mp,
if ((mp->mnt_kern_flag & MNTK_UNMOUNT) != 0 ||
mp->mnt_kern_flag |= MNTK_UNMOUNT;
dounmount_cleanup(mp, coveredvp, MNTK_UNMOUNT);
mp->mnt_kern_flag &= ~(MNTK_UNMOUNT | MNTK_UNMOUNTF);
KASSERT((mp->mnt_kern_flag & MNTK_UNMOUNT) == 0,
((mp->mnt_kern_flag & (MNTK_UNMOUNT | MNTK_RECURSE)) != 0)) {
KASSERT((mp->mnt_kern_flag & MNTK_UNMOUNT) == 0,
if (((mp->mnt_kern_flag & MNTK_UNMOUNT) != 0 &&
MNT_KERN_FLAG(MNTK_UNMOUNT);
MPASS((mp->mnt_kern_flag & MNTK_UNMOUNT) == 0);
while (mp->mnt_kern_flag & MNTK_UNMOUNT) {
MPASS(mp->mnt_kern_flag & MNTK_UNMOUNT);
(mp->mnt_kern_flag & MNTK_UNMOUNT) != 0) {
MNTK_UNMOUNT) == 0 ? 0 : EARLYFLUSH;
if (oldmnt->mnt_kern_flag & MNTK_UNMOUNT)
if (oldmnt->mnt_kern_flag & MNTK_UNMOUNT) {