]> granicus.if.org Git - zfs/commit
Illumos #3956, #3957, #3958, #3959, #3960, #3961, #3962
authorGeorge Wilson <george.wilson@delphix.com>
Wed, 7 Aug 2013 20:16:22 +0000 (12:16 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 5 Nov 2013 20:23:05 +0000 (12:23 -0800)
commit5d1f7fb647e8923d154901ef3e19676e7bf3d345
tree84dd945cc22d9bd28ae47796ed3718afe7bcd2ad
parent621dd7bb2c970838bcf2226ac365c517af7a4bb1
Illumos #3956, #3957, #3958, #3959, #3960, #3961, #3962

3956 ::vdev -r should work with pipelines
3957 ztest should update the cachefile before killing itself
3958 multiple scans can lead to partial resilvering
3959 ddt entries are not always resilvered
3960 dsl_scan can skip over dedup-ed blocks if physical birth != logical birth
3961 freed gang blocks are not resilvered and can cause pool to suspend
3962 ztest should print out zfs debug buffer before exiting
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Adam Leventhal <ahl@delphix.com>
Approved by: Richard Lowe <richlowe@richlowe.net>

References:
  https://www.illumos.org/issues/3956
  https://www.illumos.org/issues/3957
  https://www.illumos.org/issues/3958
  https://www.illumos.org/issues/3959
  https://www.illumos.org/issues/3960
  https://www.illumos.org/issues/3961
  https://www.illumos.org/issues/3962
  illumos/illumos-gate@b4952e17e8858d3225793b28788278de9fe6038d

Ported-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Porting notes:

1. zfs_dbgmsg_print() is only used in userland. Since we do not have
   mdb on Linux, it does not make sense to make it available in the
   kernel. This means that a build failure will occur if any future
   kernel patch depends on it. However, that is unlikely given that
   this functionality was added to support zdb.

2. zfs_dbgmsg_print() is only invoked for -VVV or greater log levels.
   This preserves the existing behavior of minimal noise when running
   with -V, and -VV.

3. In vdev_config_generate() the call to nvlist_alloc() was not
   changed to fnvlist_alloc() because we must pass KM_PUSHPAGE in
   the txg_sync context.
cmd/ztest/ztest.c
include/sys/dsl_scan.h
include/sys/fs/zfs.h
include/sys/vdev_impl.h
include/sys/zfs_debug.h
module/zfs/dsl_scan.c
module/zfs/spa.c
module/zfs/spa_config.c
module/zfs/vdev.c
module/zfs/vdev_label.c
module/zfs/zfs_debug.c