[CFT] ZFS ACL and rrwlock speedup

Martin Matuska mm at FreeBSD.org
Tue Aug 24 10:17:58 UTC 2010


Dear FreeBSD community,

in my last CFT I presented a patch that improves ZFS write speed. There
have been easily portable improvements on the read side in OpenSolaris,
too. Of course, the improvement here is by far not that dramatic as in
the zfs_metaslab.patch, but OpenSolaris developers claim this also
improves the speed of stat() calls.

I would like to Call For Testing for the following patch (9-CURRENT):
http://people.freebsd.org/~mm/patches/zfs/zfs_abe_stat_rrwlock.patch

This patch adds the following:
- better ACL caching and speedup of the ACL permission checks
- lowered mutex contention in the read/writer lock (rrwlock)
- several bugfixes

This patch does not interfere with the zfs_metaslab.patch

To apply the patch against 8-STABLE, you need to apply the v15 update first:
http://people.freebsd.org/~mm/patches/zfs/v15/stable-8-v15.patch

The patch imports the following OpenSolaris onnv revisions:
9749 (without zlook), 9866, 9981, 10143, 10232, 10295, 10250, 10269

And covers the following OpenSolaris Bug IDs:
6802734 Support for Access Based Enumeration (not used on FreeBSD)
6844861 inconsistent xattr readdir behavior with too-small buffer
6848431 zfs with rstchown=0 or file_chown_self privilege allows user to
"take" ownership
6775100 stat() performance on files on zfs should be improved
6827779 rrwlock is overly protective of its counters
6857433 memory leaks found at: zfs_acl_alloc/zfs_acl_node_alloc
6860318 truncate() on zfsroot succeeds when file has a component of its
path set without access permission
6865875 zfs sometimes incorrectly giving search access to a dir
6870564 panic in zfs_getsecattr
6867395 zpool_upgrade_007_pos testcase panic'd with BAD TRAP: type=e
(#pf Page fault)
6868276 zfs_rezget() can be hazardous when znode has a cached ACL

Cheers,
mm


More information about the freebsd-current mailing list