diff options
author | kib <kib@FreeBSD.org> | 2012-02-29 15:18:04 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2012-02-29 15:18:04 +0000 |
commit | 9ea303ddb816e8ac84f71251736e7cebeabd3b33 (patch) | |
tree | a84e7e0c8a8c17b387b6cc5046e1daae53e4f0e0 /sys/fs | |
parent | ebc5c1c3cce3dd42ce0b712c8d0d1d2e88c5e730 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/fs/nullfs/null_subr.c | 6 |
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 */ |