cvs commit: src/sys/compat/opensolaris/kern opensolaris_vfs.c
src/sys/compat/opensolaris/sys
vfs.h src/sys/contrib/opensolaris/uts/common/fs/zfs zfs_ctldir.c
Pawel Jakub Dawidek
pjd at FreeBSD.org
Mon Jun 4 11:31:46 UTC 2007
pjd 2007-06-04 11:31:46 UTC
FreeBSD src repository
Modified files:
sys/compat/opensolaris/kern opensolaris_vfs.c
sys/compat/opensolaris/sys vfs.h
sys/contrib/opensolaris/uts/common/fs/zfs zfs_ctldir.c
Log:
Reimplement traverse() helper function:
1. Pass locking flags to VFS_ROOT().
2. Check v_mountedhere while the vnode is locked.
3. Always return locked vnode on success.
Change 1 fixes problem reported by Stephen M. Rumble - after
zfs_vfsops.c,1.9 change, zfs_root() no longer locks the vnode
unconditionally and traverse() didn't pass right lock type to
VFS_ROOT(). The result was that kernel paniced when .zfs/ directory
was accessed via NFS.
Revision Changes Path
1.6 +14 -10 src/sys/compat/opensolaris/kern/opensolaris_vfs.c
1.2 +2 -2 src/sys/compat/opensolaris/sys/vfs.h
1.5 +9 -10 src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
More information about the cvs-src
mailing list