]> granicus.if.org Git - zfs/commit
Pool allocation classes
authorDon Brady <don.brady@delphix.com>
Thu, 6 Sep 2018 01:33:36 +0000 (19:33 -0600)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 6 Sep 2018 01:33:36 +0000 (18:33 -0700)
commitcc99f275a28c43fe450a66a7544f73c4935f7361
treef867e1d2cbb550a047c0f87986831252c41a2fd9
parentcfa37548ebc880580782b245f2d233ed540e7a01
Pool allocation classes

Allocation Classes add the ability to have allocation classes in a
pool that are dedicated to serving specific block categories, such
as DDT data, metadata, and small file blocks. A pool can opt-in to
this feature by adding a 'special' or 'dedup' top-level VDEV.

Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed-by: Richard Laager <rlaager@wiktel.com>
Reviewed-by: Alek Pinchuk <apinchuk@datto.com>
Reviewed-by: HÃ¥kan Johansson <f96hajo@chalmers.se>
Reviewed-by: Andreas Dilger <andreas.dilger@chamcloud.com>
Reviewed-by: DHE <git@dehacked.net>
Reviewed-by: Richard Elling <Richard.Elling@RichardElling.com>
Reviewed-by: Gregor Kopka <gregor@kopka.net>
Reviewed-by: Kash Pande <kash@tripleback.net>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Signed-off-by: Don Brady <don.brady@delphix.com>
Closes #5182
57 files changed:
cmd/zdb/zdb.c
cmd/zpool/zpool_main.c
cmd/zpool/zpool_vdev.c
cmd/ztest/ztest.c
configure.ac
include/sys/dmu.h
include/sys/dmu_objset.h
include/sys/fs/zfs.h
include/sys/metaslab.h
include/sys/spa.h
include/sys/spa_impl.h
include/sys/vdev.h
include/sys/vdev_impl.h
include/sys/zio.h
include/zfeature_common.h
lib/libzfs/libzfs_dataset.c
lib/libzfs/libzfs_pool.c
lib/libzpool/util.c
man/man5/zfs-module-parameters.5
man/man5/zpool-features.5
man/man8/zfs.8
man/man8/zpool.8
module/zcommon/zfeature_common.c
module/zcommon/zfs_prop.c
module/zfs/dmu.c
module/zfs/dmu_objset.c
module/zfs/metaslab.c
module/zfs/spa.c
module/zfs/spa_misc.c
module/zfs/vdev.c
module/zfs/vdev_label.c
module/zfs/vdev_removal.c
module/zfs/zfs_debug.c
module/zfs/zfs_ioctl.c
module/zfs/zio.c
tests/runfiles/linux.run
tests/zfs-tests/tests/functional/Makefile.am
tests/zfs-tests/tests/functional/alloc_class/Makefile.am [new file with mode: 0644]
tests/zfs-tests/tests/functional/alloc_class/alloc_class.cfg [new file with mode: 0644]
tests/zfs-tests/tests/functional/alloc_class/alloc_class.kshlib [new file with mode: 0644]
tests/zfs-tests/tests/functional/alloc_class/alloc_class_001_pos.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/alloc_class/alloc_class_002_neg.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/alloc_class/alloc_class_003_pos.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/alloc_class/alloc_class_004_pos.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/alloc_class/alloc_class_005_pos.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/alloc_class/alloc_class_006_pos.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/alloc_class/alloc_class_007_pos.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/alloc_class/alloc_class_008_pos.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/alloc_class/alloc_class_009_pos.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/alloc_class/alloc_class_010_pos.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/alloc_class/alloc_class_011_neg.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/alloc_class/alloc_class_012_pos.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/alloc_class/alloc_class_013_pos.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/alloc_class/cleanup.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/alloc_class/setup.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/cli_root/zpool_get/zpool_get.cfg
tests/zfs-tests/tests/functional/cli_root/zpool_split/zpool_split_vdevs.ksh