OpenZFS on OS X/zfs 18d41ffmodule/zfs dmu_send.c

hack slash
DeltaFile
+21-7module/zfs/dmu_send.c
+21-71 files

OpenZFS on OS X/zfs 1867705module/zfs abd.c

ABD changes for vectorized RAIDZ

This is a distilled version of ZoL's
https://github.com/zfsonlinux/zfs/commit/a206522c4fd31f03f14ba174d6159b72acfae0a9

* add abd_get_offset_size() interface
* abd_iter_map(): fix calculation of iter_mapsize
* add abd_raidz_gen_iterate() and abd_raidz_rec_iterate()

We had some minor differences in the size calculations causing issues in
certain corner cases.
DeltaFile
+10-6module/zfs/abd.c
+10-61 files

OpenZFS on OS X/zfs 3ca683emodule/zfs dmu_send.c

Pick HAVE_LARGE_STACK path on OsX

OpenZFS on OS X/zfs 1a5cd97module/zfs bqueue.c

Call cv_signal() with mutex held

In bqueue_dequeue(), call cv_signal() with bq_lock held.
Re-enable rsend_009_pos to test the fix.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Boris Protopopov <boris.protopopov at actifio.com>
Closes #5887

OpenZFS on OS X/zfs 3859c2einclude/sys zfs_ioctl.h, module/zfs dmu_send.c dmu_recv.c

Revert "Fix send/recv lost spill block"

This reverts commit 8d7a713e91f7f4594c63e9c851fe926faee3d6d5.

OpenZFS on OS X/zfs d6e954dmodule/zfs zio.c

Enable raw writes to perform dedup with verification

Reviewed by: Dan Kimmel <dan.kimmel at delphix.com>
Reviewed by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed by: David Quigley <david.quigley at intel.com>
Signed-off-by: Tom Caputi <tcaputi at datto.com>
Issue #5078
DeltaFile
+46-24module/zfs/zio.c
+46-241 files

OpenZFS on OS X/zfs 2be5466module/zfs zio.c

Enable raw writes to perform dedup with verification

Reviewed by: Dan Kimmel <dan.kimmel at delphix.com>
Reviewed by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed by: David Quigley <david.quigley at intel.com>
Signed-off-by: Tom Caputi <tcaputi at datto.com>
Issue #5078
DeltaFile
+47-7module/zfs/zio.c
+47-71 files

OpenZFS on OS X/zfs 99992e3tests/config commands-osx.m4

Missing commands-osx.m4

OpenZFS on OS X/zfs bfe2903module/zfs zvolIO.cpp zil.c

Correct ASSERT for --enable-debug case

OpenZFS on OS X/zfs 4ab7121module/zfs vdev_indirect.c vdev_removal.c

Correct ASSERTS with --enable-debug

OpenZFS on OS X/zfs bbc9d8clib/libdiskmgt Makefile.am

Fix typo in libdskmgt Makefile

OpenZFS on OS X/zfs 09fb3cfmodule/icp/algs/aes aes_impl.c aes_impl_generic.c, module/icp/asm-x86_64/aes aes_aesni.S aes_intel.S

Port ZOL assembler work

Update vdev_raidz.c from ZOL
add in various assembler versions, and with updated SPL
simd_x86.h CPU feature detection remains the same.

add string kstat zfs_vdev_raidz_impl to show picked and available
alg, and allow set preferred alg.

Assembler work: aes, gcm

Add ZOL assembler work for

gcm pclmulqdq
aes x86_64
aes aesni

ZOL zfs_fletcher assembler work

Bring in the assembler versions of fletcher, and kstat to select.
Due to missing kstat_set_ops_raw() functionality, the benchmarking is
not visible, added dprintf() for those curious.

OpenZFS on OS X/zfs ab65cdbmodule/zfs zfs_ioctl.c

zfs_ioc_create would eat error return

Creating a ZVOL too large would return confusing error message:

cannot open 'tank/vol': dataset does not exist

as the zvol_create_minors() tail code would overwrite the "error"
variable. Now returns with correct:

cannot create 'tank/vol': out of space

OpenZFS on OS X/zfs fb98be7module/zfs arc.c

Fix comparison signedness in arc_is_overflowing()

When ARC size is very small, aggsum_lower_bound(&arc_size) may return
negative values, that due to unsigned comparison caused delays, waiting
for arc_adjust() to "fix" it by calling aggsum_value(&arc_size).  Use
of signed comparison there fixes the problem.

Reviewed-by: Matt Ahrens <mahrens at delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Signed-off-by:  Alexander Motin <mav at FreeBSD.org>
Closes #8873
DeltaFile
+5-1module/zfs/arc.c
+5-11 files

OpenZFS on OS X/zfs 230c7e4module/zfs dmu_recv.c

Fix incorrect error message for raw receive

This patch fixes an incorrect error message that comes up when
doing a non-forcing, raw, incremental receive into a dataset
that has a newer snapshot than the "from" snapshot. In this
case, the current code prints a confusing message about an IVset
guid mismatch.

This functionality is supported by non-raw receives as an
undocumented feature, but was never supported by the raw receive
code. If this is desired in the future, we can probably figure
out a way to make it work.

Reviewed by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed by: Matthew Ahrens <mahrens at delphix.com>
Signed-off-by: Tom Caputi <tcaputi at datto.com>
Issue #8758 
Closes #8863 

OpenZFS on OS X/zfs 87f7544module/zfs vdev_indirect.c

Remove warning in vdev_obsolete_sm_object

OpenZFS on OS X/zfs a5a4a1einclude/sys metaslab.h, module/zfs metaslab.c vdev.c

Allow metaslab to be unloaded even when not freed from

On large systems, the memory used by loaded metaslabs can become
a concern. While range trees are a fairly efficient data structure,
on heavily fragmented pools they can still consume a significant
amount of memory. This problem is amplified when we fail to unload
metaslabs that we aren't using. Currently, we only unload a metaslab
during metaslab_sync_done; in order for that function to be called
on a given metaslab in a given txg, we have to have dirtied that
metaslab in that txg. If the dirtying was the result of an allocation,
we wouldn't be unloading it (since it wouldn't be 8 txgs since it
was selected), so in effect we only unload a metaslab during txgs
where it's being freed from.

We move the unload logic from sync_done to a new function, and
call that function on all metaslabs in a given vdev during
vdev_sync_done().

Reviewed-by: Richard Elling <Richard.Elling at RichardElling.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Paul Dagnelie <pcd at delphix.com>
Closes #8837

OpenZFS on OS X/zfs 2290dd2module/zfs arc.c

l2arc_apply_transforms: Fix typo in comment

Reviewed-by: Chris Dunlop <chris at onthe.net.au>
Reviewed-by: Matt Ahrens <mahrens at delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Reviewed-by: Richard Laager <rlaager at wiktel.com>
Signed-off-by: Allan Jude <allanjude at freebsd.org>
Closes #8822
DeltaFile
+3-3module/zfs/arc.c
+3-31 files

OpenZFS on OS X/zfs 3b20832man/man5 zfs-module-parameters.5, module/zfs metaslab.c

Reduced IOPS when all vdevs are in the zfs_mg_fragmentation_threshold

Historically while doing performance testing we've noticed that IOPS
can be significantly reduced when all vdevs in the pool are hitting
the zfs_mg_fragmentation_threshold percentage. Specifically in a
hypothetical pool with two vdevs, what can happen is the following:
Vdev A would go above that threshold and only vdev B would be used.
Then vdev B would pass that threshold but vdev A would go below it
(we've been freeing from A to allocate to B). The allocations would
go back and forth utilizing one vdev at a time with IOPS taking a hit.

Empirically, we've seen that our vdev selection for allocations is
good enough that fragmentation increases uniformly across all vdevs
the majority of the time. Thus we set the threshold percentage high
enough to avoid hitting the speed bump on pools that are being pushed
to the edge. We effectively disable its effect in the majority of the
cases but we don't remove (at least for now) just in case we hit any
weird behavior in the future.

Reviewed-by: George Melikov <mail at gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Matt Ahrens <mahrens at delphix.com>
Signed-off-by: Serapheim Dimitropoulos <serapheim at delphix.com>
Closes #8859 

OpenZFS on OS X/zfs b58168bmodule/zfs zfs_znode.c

Drop objid argument in zfs_znode_alloc() (sync with OpenZFS)

Since zfs_znode_alloc() already takes dmu_buf_t*, taking another
uint64_t argument for objid is redundant. inode's ->i_ino does and
needs to match znode's ->z_id.

zfs_znode_alloc() in FreeBSD and illumos doesn't have this argument
since vnode doesn't have vnode# in VFS (hence ->z_id exists).

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro at osnexus.com>
Closes #8841

OpenZFS on OS X/zfs 2c50581module/zfs bqueue.c

Wait in 'S' state when send/recv pipe is blocking

Reviewed-by: Paul Dagnelie <pcd at delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: DHE <git at dehacked.net>
Closes #8733 
Closes #8752 

OpenZFS on OS X/zfs 416b5ddmodule/zfs dsl_scan.c

Make zfs_async_block_max_blocks handle zero correctly

Reviewed-by: Matt Ahrens <mahrens at delphix.com>
Reviewed-by: Paul Dagnelie <pcd at delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: TulsiJain <tulsi.jain at delphix.com>
Closes #8829
Closes #8289

OpenZFS on OS X/zfs d22156emodule/zfs dmu.c

Revert "Report holes when there are only metadata changes"

This reverts commit ec4f9b8f30 which introduced a narrow race which
can lead to lseek(, SEEK_DATA) incorrectly returning ENXIO.  Resolve
the issue by revering this change to restore the previous behavior
which depends solely on checking the dirty list.

Reviewed-by: Olaf Faaland <faaland1 at llnl.gov>
Reviewed-by: Igor Kozhukhov <igor at dilos.org>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #8816
Closes #8834
DeltaFile
+32-39module/zfs/dmu.c
+32-391 files

OpenZFS on OS X/zfs 6a87074module/zfs vdev.c

Exclude log device ashift from normal class

When opening a log device during import its allocation bias will
not yet have been set by vdev_load().  This results in the log
device's ashift being incorrectly applied to the maximum ashift
of the vdevs in the normal class.  Which in turn prevents the
removal of any top-level devices due to the ashift check in the
spa_vdev_remove_top_check() function.

This issue is resolved by including vdev_islog in the check since
it will be set correctly during vdev_open().

Reviewed-by: Matt Ahrens <mahrens at delphix.com>
Reviewed-by: Igor Kozhukhov <igor at dilos.org>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #8735 
DeltaFile
+1-4module/zfs/vdev.c
+1-41 files

OpenZFS on OS X/zfs a8185c6module/zfs dmu.c

Fix integer overflow in get_next_chunk()

dn->dn_datablksz type is uint32_t and need to be casted to uint64_t
to avoid an overflow when the record size is greater than 4 MiB.

Reviewed-by: Tom Caputi <tcaputi at datto.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Olivier Mazouffre <olivier.mazouffre at ims-bordeaux.fr>
Closes #8778
Closes #8797
DeltaFile
+2-2module/zfs/dmu.c
+2-21 files

OpenZFS on OS X/zfs 0518d8ccmd/zfs zfs_main.c

grammar: it is / plural agreement

Reviewed-by: Richard Laager <rlaager at wiktel.com>
Reviewed-by: Matt Ahrens <mahrens at delphix.com>
Reviewed-by: Chris Dunlop <chris at onthe.net.au>
Signed-off-by: Josh Soref <jsoref at users.noreply.github.com>
Closes #8818
DeltaFile
+2-2cmd/zfs/zfs_main.c
+2-21 files

OpenZFS on OS X/zfs fab8dcflib/libzfs libzfs_dataset.c

Refactor parent dataset handling in libzfs zfs_rename()

For recursive renaming, simplify the code by moving `zhrp` and
`parentname` to inner scope. `zhrp` is only used to test existence
of a parent dataset for recursive dataset dir scan since ba6a24026c.

Reviewed by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Richard Laager <rlaager at wiktel.com>
Reviewed-by: Giuseppe Di Natale <guss80 at gmail.com>
Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro at osnexus.com>
Closes #8815

OpenZFS on OS X/zfs d1980f1module/zfs zfs_ioctl.c, tests/zfs-tests/tests/functional/cli_root/zpool_create zpool_create_encrypted.ksh

Double-free of encryption wrapping key due to invalid pool properties

This commits fixes a double-free in zfs_ioc_pool_create() triggered by
specifying an unsupported combination of properties when creating a pool
with encryption enabled.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tom Caputi <tcaputi at datto.com>
Signed-off-by: loli10K <ezomori.nozomu at gmail.com>
Closes #8791

OpenZFS on OS X/zfs 6b2aa22cmd/zpool zpool_main.c

Update comments to match code

s/get_vdev_spec/make_root_vdev

The former doesn't exist anymore.

Sponsored by: iXsystems, Inc.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tom Caputi <tcaputi at datto.com>
Signed-off-by: Ryan Moeller <ryan at freqlabs.com>
Closes #8759

OpenZFS on OS X/zfs 1a57623cmd/zfs zfs_main.c, cmd/zpool zpool_main.c

Endless loop in zpool_do_remove() on platforms with unsigned char

On systems where "char" is an unsigned type the value returned by
getopt() will never be negative (-1), leading to an endless loop:
this issue prevents both 'zpool remove' and 'zstreamdump' for
working on some systems.

Reviewed-by: Igor Kozhukhov <igor at dilos.org>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Chris Dunlop <chris at onthe.net.au>
Signed-off-by: loli10K <ezomori.nozomu at gmail.com>
Closes #8789

OpenZFS on OS X/zfs 77124b2module/zfs dsl_scan.c

Fix embedded bp accounting in count_block()

Currently, count_block() does not correctly account for the
possibility that the bp that is passed to it could be embedded.
These blocks shouldn't be counted since the work of scanning
these blocks in already handled when the containing block is
scanned. This patch simply resolves this issue by returning
early in this case.

Reviewed by: Allan Jude <allanjude at freebsd.org>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Authored-by: Bill Sommerfeld <sommerfeld at alum.mit.edu>
Signed-off-by: Tom Caputi <tcaputi at datto.com>
Closes #8800 
Closes #8766 

OpenZFS on OS X/zfs 559e521cmd/zpool zpool_main.c

zpool: status -t is not documented in help message

This commit adds the undocumented "-t" option to zpool(8) help message.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Reviewed-by: Chris Dunlop <chris at onthe.net.au>
Signed-off-by: loli10K <ezomori.nozomu at gmail.com>
Closes #8782

OpenZFS on OS X/zfs 3b70afftests/zfs-tests/tests/functional/cli_user/misc zpool_001_neg.ksh zfs_001_neg.ksh

zfs-tests: verify zfs(8) and zpool(8) help message is under 80 columns

This commit updates the ZFS Test Suite to detect incorrect wrapping of
both zfs(8) and zpool(8) help message

Reviewed by: John Kennedy <john.kennedy at delphix.com>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu at gmail.com>
Closes #8785

OpenZFS on OS X/zfs 0e7959blib/libzfs libzfs_dataset.c

zfs: don't pretty-print objsetid property

The objsetid property, while being stored as a number, is a dataset
identifier and should not be pretty-printed.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Reviewed-by: Chris Dunlop <chris at onthe.net.au>
Signed-off-by: loli10K <ezomori.nozomu at gmail.com>
Closes #8784

OpenZFS on OS X/zfs 595643ccmd/zfs zfs_main.c

zfs: missing newline character in zfs_do_channel_program() error message

This commit simply adds a missing newline ("\n") character to the error
message printed by the zfs command when the provided pool parameter
can't be found.

Reviewed-by: Chris Dunlop <chris at onthe.net.au>
Reviewed-by: Giuseppe Di Natale <guss80 at gmail.com>
Reviewed-by: Igor Kozhukhov <igor at dilos.org>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Signed-off-by: loli10K <ezomori.nozomu at gmail.com>
Closes #8783
DeltaFile
+3-2cmd/zfs/zfs_main.c
+3-21 files

OpenZFS on OS X/zfs 0a10bb0cmd/zdb zdb.c, include/sys vdev_impl.h

Device removal panics on 32-bit systems

The issue is caused by an incorrect usage of the sizeof() operator
in vdev_obsolete_sm_object(): on 64-bit systems this is not an issue
since both "uint64_t" and "uint64_t*" are 8 bytes in size. However on
32-bit systems pointers are 4 bytes long which is not supported by
zap_lookup_impl(). Trying to remove a top-level vdev on a 32-bit system
will cause the following failure:

VERIFY3(0 == vdev_obsolete_sm_object(vd, &obsolete_sm_object)) failed (0 == 22)
PANIC at vdev_indirect.c:833:vdev_indirect_sync_obsolete()
Showing stack for process 1315
CPU: 6 PID: 1315 Comm: txg_sync Tainted: P           OE   4.4.69+ #2
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-2.fc27 04/01/2014
 c1abc6e7 0ae10898 00000286 d4ac3bc0 c14397bc da4cd7d8 d4ac3bf0 d4ac3bd0
 d790e7ce d7911cc1 00000523 d4ac3d00 d790e7d7 d7911ce4 da4cd7d8 00000341
 da4ce664 da4cd8c0 da33fa6e 49524556 28335946 3d3d2030 65647620 626f5f76
Call Trace:
 [<>] dump_stack+0x58/0x7c
 [<>] spl_dumpstack+0x23/0x27 [spl]
 [<>] spl_panic.cold.0+0x5/0x41 [spl]
 [<>] ? dbuf_rele+0x3e/0x90 [zfs]
 [<>] ? zap_lookup_norm+0xbe/0xe0 [zfs]
 [<>] ? zap_lookup+0x57/0x70 [zfs]
 [<>] ? vdev_obsolete_sm_object+0x102/0x12b [zfs]

    [20 lines not shown]

OpenZFS on OS X/zfs b5a3ba5cmd/zpool zpool_main.c

zpool: trim -p is not a valid option

This commit removes the documented but not handled "-p" option from
zpool(8) help message.

Reviewed-by: George Melikov <mail at gmelikov.ru>
Reviewed-by: Chris Dunlop <chris at onthe.net.au>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu at gmail.com>
Closes #8781 

OpenZFS on OS X/zfs bcefc98scripts make_gitrev.sh

Avoid updating zfs_gitrev.h when rev is unchanged.

Build process would always re-compile spa_history.c due to touching
zfs_gitrev.h - avoid if no change in gitrev.

Signed-off-by: Jorgen Lundman <lundman at lundman.net>

OpenZFS on OS X/zfs 3cd7101module/icp/algs/aes aes_impl.c aes_impl_generic.c, module/icp/asm-x86_64/aes aes_aesni.S aes_intel.S

ZOL assembler work for raidz

Update vdev_raidz.c from ZOL
add in various assembler versions, and with updated SPL
simd_x86.h CPU feature detection remains the same.

add string kstat zfs_vdev_raidz_impl to show picked and available
alg, and allow set preferred alg.

Assembler work: aes, gcm

Add ZOL assembler work for

gcm pclmulqdq
aes x86_64
aes aesni

ZOL zfs_fletcher assembler work

Bring in the assembler versions of fletcher, and kstat to select.
Due to missing kstat_set_ops_raw() functionality, the benchmarking is
not visible, added dprintf() for those curious.

OpenZFS on OS X/zfs 5e05e5escripts make_gitrev.sh

Avoid updating zfs_gitrev.h when rev is unchanged

Build process would always re-compile spa_history.c due to touching
zfs_gitrev.h - avoid if no change in gitrev.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Chris Dunlop <chris at onthe.net.au>
Reviewed-by: Allan Jude <allanjude at freebsd.org>
Signed-off-by: Jorgen Lundman <lundman at lundman.net>
Closes #8860 

OpenZFS on OS X/zfs 3699861module/zfs dnode_sync.c

Reinstate raw receive check when truncating

This patch re-adds a check that was removed in 369aa50. The check
confirms that a raw receive is not occuring before truncating an
object's dn_maxblkid. At the time, it was believed that all cases
that would hit this code path would be handled in other places,
but that was not the case.

Reviewed-by: Matt Ahrens <mahrens at delphix.com>
Reviewed-by: Paul Dagnelie <pcd at delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Tom Caputi <tcaputi at datto.com>
Closes #8852 
Closes #8857 

OpenZFS on OS X/zfs c6d8d62module/zfs dnode_sync.c

Reinstate raw receive check when truncating

This patch re-adds a check that was removed in 369aa50. The check
confirms that a raw receive is not occuring before truncating an
object's dn_maxblkid. At the time, it was believed that all cases
that would hit this code path would be handled in other places,
but that was not the case.

Signed-off-by: Tom Caputi <tcaputi at datto.com>

OpenZFS on OS X/zfs 5580c6fscripts make_gitrev.sh

Avoid updating zfs_gitrev.h when rev is unchanged.

Build process would always re-compile spa_history.c due to touching
zfs_gitrev.h - avoid if no change in gitrev.

Signed-off-by: Jorgen Lundman <lundman at lundman.net>

OpenZFS on OS X/zfs 585417amodule/zcommon zfs_fletcher_intel.c, module/zfs vdev_raidz.c

Silence warnings

OpenZFS on OS X/zfs bb03a12module/zcommon zfs_fletcher.c zfs_fletcher_sse.c

ZOL zfs_fletcher assembler work

Bring in the assembler versions of fletcher, and kstat to select.
Due to missing kstat_set_ops_raw() functionality, the benchmarking is
not visible, added dprintf() for those curious.

OpenZFS on OS X/zfs 1de2765module/icp/algs/aes aes_impl.c aes_impl_generic.c, module/icp/asm-x86_64/aes aes_intel.S aes_aesni.S

Assembler work: aes, gcm

Add ZOL assembler work for

gcm pclmulqdq
aes x86_64
aes aesni

OpenZFS on OS X/zfs ed522fcmodule/zfs vdev_raidz_math.c

Remove debug printf

OpenZFS on OS X/zfs 988ebbemodule/zfs vdev_raidz.c

Restore our abd calls to avoid ASSERTS
DeltaFile
+14-12module/zfs/vdev_raidz.c
+14-121 files

OpenZFS on OS X/zfs 1eaa3dblib/libspl/include/sys simd_x86.h, module/zfs vdev_raidz_math_ssse3.c vdev_raidz_math_impl.h

ZOL assembler work for raidz

Update vdev_raidz.c from ZOL
add in various assembler versions, and with updated SPL
simd_x86.h CPU feature detection remains the same.

add string kstat zfs_vdev_raidz_impl to show picked and available
alg, and allow set preferred alg.

OpenZFS on OS X/zfs e159856include/sys zthr.h spa_checkpoint.h, module/zfs zthr.c spa.c

Serialize ZTHR operations to eliminate races

Adds a new lock for serializing operations on zthrs.
The commit also includes some code cleanup and
refactoring.

Reviewed by: Matt Ahrens <mahrens at delphix.com>
Reviewed by: Tom Caputi <tcaputi at datto.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Serapheim Dimitropoulos <serapheim at delphix.com>
Closes #8229