--- - branch: MAIN date: Mon Oct 15 14:15:59 UTC 2012 files: - new: '1.2' old: 1.1.1.2 path: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_rlock.c pathrev: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_rlock.c@1.2 type: modified - new: '1.2' old: 1.1.1.1 path: src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_rlock.h pathrev: src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_rlock.h@1.2 type: modified id: 20121015T141559Z.f9146ecf771845cce80efef3ed5a6e08d8bfd52d log: | Do reference counting for zfs range lock waiters. Avoid cv_broadcast(&cv); cv_destroy(&cv); which works in Solaris only by abuse of the condvar abstraction. There are parts of this code that should be factored into smaller subroutines, mainly range lock allocation and initialization, but that would make it harder to merge newer versions of zfs, so for now I've just expanded those parts further in-line. module: src subject: 'CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs' unixtime: '1350310559' user: riastradh