--- - branch: MAIN date: Mon Oct 15 23:08:20 UTC 2012 files: - new: '1.8' old: '1.7' path: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c pathrev: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c@1.8 type: modified - new: '1.12' old: '1.11' path: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c pathrev: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c@1.12 type: modified - new: '1.13' old: '1.12' path: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c pathrev: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c@1.13 type: modified id: 20121015T230820Z.3fec52be235fc9352ca9d66de1ed06f239878de5 log: | Fix various issues in zfs life cycle, locking, and vop protocol. - Restore some zfs locking and unlocking that got lost randomly. - Enable use of the BSD vnode lock. Lock order: all BSD vnode locks are taken before all zfs internal locks. There remains an issue with O_EXCL, to be solved later (famous last words). KASSERT the locking scheme up the wazoo. - Take our cruft out of zfs_lookup and move it to zfs_netbsd_lookup. Restore much of the way zfs_lookup looked to make merging future versions easier. Disable use of the namecache for now because its locking dance is too scary to contemplate. - Implement BSD semantics for rename, to appease our tests. This is a provisional kludge; eventually we need VOP_RENAME to take a flag specifying whether to use BSD semantics or POSIX semantics. - Simplify zfs_netbsd_reclaim and make it work. Now that getnewvnode never tries to vclean anything itself, we need not worry about recursion of ZFS_OBJ_MUTEX locks. - Clarify and fix genfs node initialization and destruction. zfs passes most of our atf vfs tests now, including the rename races. Still to do: - fix the impedance mismatch between our permissions model and zfs's; - fix O_EXCL (nontrivial); - throw dirconc at it and see how badly it explodes; - find why zpool sometimes wedges itself during mkfs; and - find why pool caches sometimes seem to get corrupted. module: src subject: 'CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs' unixtime: '1350342500' user: riastradh