Date: Mon, 4 Jun 2007 11:31:46 +0000 (UTC) From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: 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 Message-ID: <200706041131.l54BVkpc099569@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200706041131.l54BVkpc099569>
