diff options
author | Ted Unangst <tedu@cvs.openbsd.org> | 2004-03-03 06:01:50 +0000 |
---|---|---|
committer | Ted Unangst <tedu@cvs.openbsd.org> | 2004-03-03 06:01:50 +0000 |
commit | 22c8f1d4174977fa80e4ae9dc6a31e0cad1d4726 (patch) | |
tree | a637c1462626f1c6318e3ee133ffd2db255913de /sys/miscfs | |
parent | 677b2003dd6c4765b76591fefc686126ab324699 (diff) |
support forced unmounts. pr2394 from peter werner
Diffstat (limited to 'sys/miscfs')
-rw-r--r-- | sys/miscfs/nullfs/null_vfsops.c | 4 | ||||
-rw-r--r-- | sys/miscfs/portal/portal_vfsops.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/miscfs/nullfs/null_vfsops.c b/sys/miscfs/nullfs/null_vfsops.c index a30f4a42c8a..6bb7921bfe6 100644 --- a/sys/miscfs/nullfs/null_vfsops.c +++ b/sys/miscfs/nullfs/null_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: null_vfsops.c,v 1.17 2003/08/14 07:46:39 mickey Exp $ */ +/* $OpenBSD: null_vfsops.c,v 1.18 2004/03/03 06:01:49 tedu Exp $ */ /* $NetBSD: null_vfsops.c,v 1.38 2002/09/21 18:09:29 christos Exp $ */ /* @@ -248,7 +248,7 @@ nullfs_unmount(mp, mntflags, p) if (mntinvalbuf(mp, 1)) return (EBUSY); #endif - if (null_rootvp->v_usecount > 1) + if (null_rootvp->v_usecount > 1 && !(flags & FORCECLOSE)) return (EBUSY); if ((error = vflush(mp, null_rootvp, flags)) != 0) return (error); diff --git a/sys/miscfs/portal/portal_vfsops.c b/sys/miscfs/portal/portal_vfsops.c index 23027807637..8f56b899147 100644 --- a/sys/miscfs/portal/portal_vfsops.c +++ b/sys/miscfs/portal/portal_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: portal_vfsops.c,v 1.18 2003/08/14 07:46:39 mickey Exp $ */ +/* $OpenBSD: portal_vfsops.c,v 1.19 2004/03/03 06:01:48 tedu Exp $ */ /* $NetBSD: portal_vfsops.c,v 1.14 1996/02/09 22:40:41 christos Exp $ */ /* @@ -171,7 +171,7 @@ portal_unmount(mp, mntflags, p) if (mntinvalbuf(mp, 1)) return (EBUSY); #endif - if (rvp->v_usecount > 1) + if (rvp->v_usecount > 1 && !(flags & FORCECLOSE)) return (EBUSY); if ((error = vflush(mp, rvp, flags)) != 0) return (error); |