]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r354804,r354806,r354807,r354885: 10499 Multi-modifier protection (MMP)
authorAndriy Gapon <avg@FreeBSD.org>
Fri, 22 May 2020 13:27:02 +0000 (13:27 +0000)
committerAndriy Gapon <avg@FreeBSD.org>
Fri, 22 May 2020 13:27:02 +0000 (13:27 +0000)
commited4f046e3d51af3a6b6a3a3ffb6838f51f711474
tree6546a3d1fb26fb8cc2bcdd8a21fc7bf5e8f260bb
parent8a423062d0595edae32c546f96c0966299685e31
MFC r354804,r354806,r354807,r354885: 10499 Multi-modifier protection (MMP)

MFV r354378,r354379,r354386: 10499 Multi-modifier protection (MMP)

10499 Multi-modifier protection (MMP)
illumos/illumos-gate@e0f1c0afa46cc84d4b1e40124032a9a87310386e
https://github.com/illumos/illumos-gate/commit/e0f1c0afa46cc84d4b1e40124032a9a87310386e
https://www.illumos.org/issues/10499
  Port the following ZFS commits from ZoL to illumos.
  379ca9cf2 Multi-modifier protection (MMP)
  bbffb59ef Fix multihost stale cache file import
  0d398b256 Do not initiate MMP writes while pool is suspended

10701 Correct lock ASSERTs in vdev_label_read/write
illumos/illumos-gate@58447f688d5e308373ab16a3b129bc0ba0fbc154
https://github.com/illumos/illumos-gate/commit/58447f688d5e308373ab16a3b129bc0ba0fbc154
https://www.illumos.org/issues/10701
  Port of ZoL commit:
  0091d66f4e Correct lock ASSERTs in vdev_label_read/write
  At a minimum, this fixes a blown assert during an MMP test run when running on
  a DEBUG build.

11770 additional mmp fixes
illumos/illumos-gate@4348eb901228d2f8fa50bb132a34248e8662074e
https://github.com/illumos/illumos-gate/commit/4348eb901228d2f8fa50bb132a34248e8662074e
https://www.illumos.org/issues/11770
  Port a few additional MMP fixes from ZoL that came in after our
  initial MMP port.
  4ca457b065 ZTS: Fix mmp_interval failure
  ca95f70dff zpool import progress kstat
  (only minimal changes from above can be pulled in right now)
  060f0226e6 MMP interval and fail_intervals in uberblock

Note from the committer (me).
I do not have any use for this feature and I have not tested it.  I only
did smoke testing with multihost=off.
Please be aware.
I merged the code only to make future merges easier.

Since r354804 libzpool depends on libzfs for get_system_hostid symbol.
Except for zstreamdump, all binaries linked with libzpool were already
linked with libzfs.  So, zstreamdump is the only fall-out.
41 files changed:
cddl/contrib/opensolaris/cmd/zdb/zdb.c
cddl/contrib/opensolaris/cmd/zhack/zhack.c
cddl/contrib/opensolaris/cmd/zpool/zpool.8
cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
cddl/contrib/opensolaris/cmd/ztest/ztest.c
cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c
cddl/contrib/opensolaris/lib/libzpool/common/kernel.c
cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h
cddl/lib/libzpool/Makefile
cddl/usr.bin/zstreamdump/Makefile
cddl/usr.bin/ztest/Makefile
sys/cddl/contrib/opensolaris/common/zfs/zfs_comutil.h
sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c
sys/cddl/contrib/opensolaris/uts/common/Makefile.files
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/mmp.c [new file with mode: 0644]
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/mmp.h [new file with mode: 0644]
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock_impl.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/uberblock.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h
sys/conf/files