]> git.proxmox.com Git - mirror_zfs.git/commit
Illumos 4976-4984 - metaslab improvements
authorGeorge Wilson <george.wilson@delphix.com>
Sat, 19 Jul 2014 20:19:24 +0000 (12:19 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 18 Aug 2014 15:40:49 +0000 (08:40 -0700)
commitf3a7f6610f2df0217ba3b99099019417a954b673
tree720f77d117032a585761dd5bb80e5a5694915111
parentf67d709080f3d4a247191f0d25cbedc5da103f78
Illumos 4976-4984 - metaslab improvements

4976 zfs should only avoid writing to a failing non-redundant top-level vdev
4978 ztest fails in get_metaslab_refcount()
4979 extend free space histogram to device and pool
4980 metaslabs should have a fragmentation metric
4981 remove fragmented ops vector from block allocator
4982 space_map object should proactively upgrade when feature is enabled
4983 need to collect metaslab information via mdb
4984 device selection should use fragmentation metric
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Adam Leventhal <adam.leventhal@delphix.com>
Reviewed by: Christopher Siden <christopher.siden@delphix.com>
Approved by: Garrett D'Amore <garrett@damore.org>

References:
  https://www.illumos.org/issues/4976
  https://www.illumos.org/issues/4978
  https://www.illumos.org/issues/4979
  https://www.illumos.org/issues/4980
  https://www.illumos.org/issues/4981
  https://www.illumos.org/issues/4982
  https://www.illumos.org/issues/4983
  https://www.illumos.org/issues/4984
  https://github.com/illumos/illumos-gate/commit/2e4c998

Notes:
    The "zdb -M" option has been re-tasked to display the new metaslab
    fragmentation metric and the new "zdb -I" option is used to control
    the maximum number of in-flight I/Os.

    The new fragmentation metric is derived from the space map histogram
    which has been rolled up to the vdev and pool level and is presented
    to the user via "zpool list".

    Add a number of module parameters related to the new metaslab weighting
    logic.

Ported by: Tim Chase <tim@chase2k.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #2595
18 files changed:
cmd/zdb/zdb.c
cmd/zpool/zpool_main.c
include/sys/fs/zfs.h
include/sys/metaslab.h
include/sys/metaslab_impl.h
include/sys/space_map.h
include/sys/zfs_debug.h
lib/libzfs/libzfs_pool.c
man/man5/zfs-module-parameters.5
man/man8/zdb.8
man/man8/zpool.8
module/zcommon/zpool_prop.c
module/zfs/metaslab.c
module/zfs/range_tree.c
module/zfs/spa.c
module/zfs/space_map.c
module/zfs/txg.c
module/zfs/vdev.c