cvs commit: src/sys/fs/nullfs null.h null_subr.c null_vnops.c
Jeff Roberson
jeff at FreeBSD.org
Tue Mar 15 05:49:34 PST 2005
jeff 2005-03-15 13:49:33 UTC
FreeBSD src repository
Modified files:
sys/fs/nullfs null.h null_subr.c null_vnops.c
Log:
- Assume that all lower filesystems now support proper locking. Assert
that they set v->v_vnlock. This is true for all filesystems in the
tree.
- Remove all uses of LK_THISLAYER. If the lower layer is locked, the
null layer is locked. We only use vget() to get a reference now.
null essentially does no locking. This fixes LOOKUP_SHARED with
nullfs.
- Remove the special LK_DRAIN considerations, I do not believe this is
needed now as LK_DRAIN doesn't destroy the lower vnode's lock, and
it's hardly used anymore.
- Add one well commented hack to prevent the lowervp from going away
while we're in it's VOP_LOCK routine. This can only happen if we're
forcibly unmounted while some callers are waiting in the lock. In
this case the lowervp could be recycled after we drop our last ref
in null_reclaim(). Prevent this with a vhold().
Revision Changes Path
1.23 +0 -2 src/sys/fs/nullfs/null.h
1.47 +22 -58 src/sys/fs/nullfs/null_subr.c
1.85 +41 -130 src/sys/fs/nullfs/null_vnops.c
More information about the cvs-src
mailing list