summaryrefslogtreecommitdiffstats
path: root/sys/fs/nullfs
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2012-02-29 15:18:04 +0000
committerkib <kib@FreeBSD.org>2012-02-29 15:18:04 +0000
commit9ea303ddb816e8ac84f71251736e7cebeabd3b33 (patch)
treea84e7e0c8a8c17b387b6cc5046e1daae53e4f0e0 /sys/fs/nullfs
parentebc5c1c3cce3dd42ce0b712c8d0d1d2e88c5e730 (diff)
downloadFreeBSD-src-9ea303ddb816e8ac84f71251736e7cebeabd3b33.zip
FreeBSD-src-9ea303ddb816e8ac84f71251736e7cebeabd3b33.tar.gz
Document that null_nodeget() cannot take shared-locked lowervp due to
insmntque() requirements. Tested by: pho MFC after: 1 week
Diffstat (limited to 'sys/fs/nullfs')
-rw-r--r--sys/fs/nullfs/null_subr.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/fs/nullfs/null_subr.c b/sys/fs/nullfs/null_subr.c
index 6bfae2c..ae29bfc 100644
--- a/sys/fs/nullfs/null_subr.c
+++ b/sys/fs/nullfs/null_subr.c
@@ -209,7 +209,11 @@ null_nodeget(mp, lowervp, vpp)
struct vnode *vp;
int error;
- ASSERT_VOP_LOCKED(lowervp, "lowervp");
+ /*
+ * The insmntque1() call below requires the exclusive lock on
+ * the nullfs vnode.
+ */
+ ASSERT_VOP_ELOCKED(lowervp, "lowervp");
KASSERT(lowervp->v_usecount >= 1, ("Unreferenced vnode %p\n", lowervp));
/* Lookup the hash firstly */
OpenPOWER on IntegriCloud