Illumos #3090 and #3102
authorGeorge Wilson <george.wilson@delphix.com>
Fri, 14 Dec 2012 20:38:04 +0000 (12:38 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 8 Jan 2013 18:35:42 +0000 (10:35 -0800)
commit3bc7e0fb0f3904eaf41e0b9768ebe2d042ae98aa
treea72896a0cabe59d930c2253078eca4877b5dbb27
parent5ac0c30a94a0804080f0a89c9b7a31f8d4ab5708
Illumos #3090 and #3102

3090 vdev_reopen() during reguid causes vdev to be treated as corrupt
3102 vdev_uberblock_load() and vdev_validate() may read the wrong label

Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Christopher Siden <chris.siden@delphix.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Approved by: Eric Schrock <Eric.Schrock@delphix.com>

References:
  illumos/illumos-gate@dfbb943217bf8ab22a1a9d2e9dca01d4da95ee0b
  illumos changeset: 13777:b1e53580146d
  https://www.illumos.org/issues/3090
  https://www.illumos.org/issues/3102

Ported-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #939
cmd/ztest/ztest.c
include/sys/fs/zfs.h
include/sys/spa_impl.h
include/sys/vdev.h
lib/libzfs/libzfs_import.c
module/zfs/spa.c
module/zfs/spa_misc.c
module/zfs/vdev.c
module/zfs/vdev_label.c