HomeFreeBSD

MFV r329766: 8962 zdb should work on non-idle pools

Description

MFV r329766: 8962 zdb should work on non-idle pools

illumos/illumos-gate@e144c4e6c90e7d4dccaad6db660ee42b6e7ba04f

Currently zdb consistently fails to examine non-idle pools as it fails
during the spa_load() process. The main problem seems to be that
spa_load_verify() fails as can be seen below:

$ sudo zdb -d -G dcenter

zdb: can't open 'dcenter': I/O error

ZFS_DBGMSG(zdb):

spa_open_common: opening dcenter
spa_load(dcenter): LOADING
disk vdev '/dev/dsk/c4t11d0s0': best uberblock found for spa dcenter. txg 40824950
spa_load(dcenter): using uberblock with txg=40824950
spa_load(dcenter): UNLOADING
spa_load(dcenter): RELOADING
spa_load(dcenter): LOADING
disk vdev '/dev/dsk/c3t10d0s0': best uberblock found for spa dcenter. txg 40824952
spa_load(dcenter): using uberblock with txg=40824952
spa_load(dcenter): FAILED: spa_load_verify failed [error=5]
spa_load(dcenter): UNLOADING

This change makes spa_load_verify() a dryrun when ran from zdb. This is
done by creating a global flag in zfs and then setting it in zdb.

Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Andy Stormont <astormont@racktopsystems.com>
Approved by: Dan McDonald <danmcd@joyent.com>
Author: Pavel Zakharov <pavel.zakharov@delphix.com>

Details

Provenance
mavAuthored on
Reviewer
matthew
Parents
rS329768: Add two new ioctls to bhyve for batch register fetch/store operations.
Branches
Unknown
Tags
Unknown