MFV r258373:

4168 ztest assertion failure in dbuf_undirty

4169 verbatim import causes zdb to segfa
4170 zhack leaves pool in ACTIVE state

illumos/illumos-gate@7fdd916c474ea52896c671bbe7b56ba34a1ca132

MFC after:	2 weeks

(cherry picked from commit b045f69bf5e7c07b6a9c7c9c8bc9b5cfa820dbfe)

Ticket: #3813
MFV r258374:

4171 clean up spa_feature_*() interfaces

4172 implement extensible_dataset feature for use by other zpool
features

illumos/illumos-gate@2acef22db7808606888f8f92715629ff3ba555b9

MFC after:	2 weeks

(cherry picked from commit 66a5ee8e141359e78c903a20c336efdac2635107)

Ticket: #3814
Fix incorrect markup introduced in r259813.

Pointy hat to:	delphij
X-MFC-after:	r259813

(cherry picked from commit 5bdae47300325ae0a49abbf4bec2796529337cc6)

Ticket: #3814
Added support for the 'zfs list -t snap' and 'zfs snap' aliases which are
available under Oracle Solaris 11.

This includes an update to the ZFS(8) man page to reflect all the
available alias (snap, umount, and recv).

Initial changes obtained from ZFS On Linux + fixes for man page and cmd
help:
https://github.com/zfsonlinux/zfs/commit/10b75496bb0cb7a7b8146c263164adc37f1d176a
https://github.com/zfsonlinux/zfs/commit/cf81b00a73fe47fdb21586ac1cc179b734540973

Obtained from:	https://github.com/zfsonlinux/zfs
MFC after:	2 weeks
Sponsored by:	Multiplay

(cherry picked from commit a5552b83b2d4da86b57e6457a83b9be291f813e7)
MFV r258384:

2583 Add -p (parsable) option to zfs list

illumos/illumos-gate@43d68d68c1ce08fb35026bebfb141af422e7082e

MFC after:	2 weeks

(cherry picked from commit ea2640845cd53e5ad67851a95780c9b3e9a8fc0a)

Ticket: #3815
MFV r242733:

3306 zdb should be able to issue reads in parallel
3321 'zpool reopen' command should be documented in the man page
and help message

illumos/illumos-gate@31d7e8fa33fae995f558673adb22641b5aa8b6e1

FreeBSD porting notes: the kernel part of this changeset depends
on Solaris buf(9S) interfaces and are not really applicable for
our use.  vdev_disk.c is patched as-is to reduce diverge from
upstream, but vdev_file.c is left intact.

MFC after:	2 weeks

(cherry picked from commit ab4bdae837cae2d6d62a83ee3d2de722fa6da351)

Ticket: #3816
MFV r258385:

(Note: this change is not applicable to FreeBSD and the file
is not included in build.  It's integrated for completeness).

4128 disks in zpools never go away when pulled

illumos/illumos-gate@39cddb10a31c1c2e66aed69e6871d09caa4c8147

MFC after:	2 weeks

(cherry picked from commit 302e136d5537db0802a53dca85cadb03bee6a13f)
MFV r258972:

4373 add block contents print to zstreamdump

illumos/illumos-gate@994fb6b8a9d07a8021d77d79f46e30637bca3ad3

MFC after:	2 weeks

(cherry picked from commit fbdc3a9423dfe09614c3098631f89bd50ebd3e6a)

Ticket: #3817
MFV r259170:

4370 avoid transmitting holes during zfs send

4371 DMU code clean up

illumos/illumos-gate@43466aae47bfcd2ad9bf501faec8e75c08095e4f

NOTE: Make sure the boot code is updated if a zpool upgrade is
done on boot zpool.

MFC after:	2 weeks

(cherry picked from commit 82c2441b7daa2585e943ff2e8af3530cdf06a70f)

Ticket: #3818
Fix build on platforms where atomic_swap_64 is not available.

(cherry picked from commit 05d7d24d7eedde3ccfe790d7abc1b059250fd27c)

Ticket: #3818
MFV r260152:

4208 Typo in zfs_main.c: "posxiuser"

illumos/illumos-gate@f38cb554a534c6df738be3f4d23327e69888e634

Note: this is a stripped down version of Illumos change.

MFC after:	2 weeks

(cherry picked from commit bc4b7f418637b15d51b0da64431854664eb92455)

Ticket: #3820
MFV r260154 + 260182:

4369 implement zfs bookmarks
4368 zfs send filesystems from readonly pools

Illumos/illumos-gate@78f171005391b928aaf1642b3206c534ed644332

MFC after:	2 weeks

(cherry picked from commit 513727776172c040af6076666ba5249bdf9ed97e)

Ticket: #3821
MFV r260155:

When we encounter an I/O error on a piece of metadata while deleting
a file system or zvol, we don't update the bptree_entry_phys_t's
bookmark.  This would lead to double free of bp's which will lead to
space map corruption.

Instead of tolerating and allowing the corruption, panic immediately.

See Illumos #4390 for more details.

4391 panic system rather than corrupting pool if we hit bug 4390

Illumos/illumos-gate@8b36997aa24d9817807faa4efa301ac9c07a2b78

MFC after:	2 weeks

(cherry picked from commit 37fa7d55544f4fadafd355039fdfcc7851a270b1)

Ticket: #3822