MFC recent ZFS changes from illumos:
243503, 243524, 243525, 243560, 243561
MFC r243503:
Illumos 13879:
4eac7a87eff2
3329 spa_sync() spends 10-20% of its time in spa_free_sync_cb()
3330 space_seg_t should have its own kmem_cache
3331 deferred frees should happen after sync_pass 1
3335 make SYNC_PASS_* constants tunable
New loader-only tunables:
vfs.zfs.sync_pass_deferred_free
vfs.zfs.sync_pass_dont_compress
vfs.zfs.sync_pass_rewrite
References:
https://www.illumos.org/issues/3329
https://www.illumos.org/issues/3330
https://www.illumos.org/issues/3331
https://www.illumos.org/issues/3335
MFC r243524:
Import the zio nop-write improvement from Illumos. To reduce I/O,
nop-write omits overwriting data if the checksum (cryptographically
secure) of new data matches the checksum of existing data.
It also saves space if snapshots are in use.
It currently works only on datasets with enabled compression, disabled
deduplication and sha256 checksums.
IllumOS 13887:
196932ec9e6a and 13888:
7204b3392a58
3236 zio nop-write
References:
https://www.illumos.org/issues/3236
MFC r243525:
Add loader(8) tunable to enable/disable nopwrite functionality:
vfs.zfs.nopwrite_enabled
MFC r243560:
Introduce a new dataset aclmode setting "restricted" to protect ACL's
being destroyed or corrupted by a drive-by chmod.
illumos-gate 13889:
a67716f16746
3254 add support in zfs for aclmode=restricted
MFC r243561:
Update manpage dates in zfs.8 and zpool.8
git-svn-id: svn://svn.freebsd.org/base/stable/8@244088
ccf9f872-aa2e-dd11-9fc8-
001c23d0bc1f