summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/zfs/vdev_label.c
diff options
context:
space:
mode:
authorDon Brady <don.brady@delphix.com>2019-04-12 15:10:57 +0000
committerDan McDonald <danmcd@joyent.com>2019-04-13 00:31:22 -0400
commit663207adb1669640c01c5ec6949ce78fd806efae (patch)
tree16342a5e43b1009b87750b355927a34144204b4a /usr/src/uts/common/fs/zfs/vdev_label.c
parent78a53e201c2691debc57ede24c524118299ab18c (diff)
downloadillumos-joyent-663207adb1669640c01c5ec6949ce78fd806efae.tar.gz
10601 Pool allocation classes
10757 Add -gLp to zpool subcommands for alt vdev names Portions contributed by: Jerry Jelinek <jerry.jelinek@joyent.com> Portions contributed by: HÃ¥kan Johansson <f96hajo@chalmers.se> Portions contributed by: Richard Yao <ryao@gentoo.org> Portions contributed by: Chunwei Chen <david.chen@nutanix.com> Portions contributed by: loli10K <ezomori.nozomu@gmail.com> Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com> Reviewed by: Richard Laager <rlaager@wiktel.com> Reviewed by: Alek Pinchuk <apinchuk@datto.com> 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: Tony Hutter <hutter2@llnl.gov> Reviewed by: George Melikov <mail@gmelikov.ru> Reviewed by: Giuseppe Di Natale <guss80@gmail.com> Reviewed by: bunder2015 <omfgbunder@gmail.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Igor Kozhukhov <igor@dilos.org> Reviewed by: Kody Kantor <kody.kantor@joyent.com> Approved by: Dan McDonald <danmcd@joyent.com>
Diffstat (limited to 'usr/src/uts/common/fs/zfs/vdev_label.c')
-rw-r--r--usr/src/uts/common/fs/zfs/vdev_label.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/usr/src/uts/common/fs/zfs/vdev_label.c b/usr/src/uts/common/fs/zfs/vdev_label.c
index 847cfe3f65..b11c528348 100644
--- a/usr/src/uts/common/fs/zfs/vdev_label.c
+++ b/usr/src/uts/common/fs/zfs/vdev_label.c
@@ -22,6 +22,7 @@
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 by Delphix. All rights reserved.
+ * Copyright (c) 2017, Intel Corporation.
* Copyright 2019 Joyent, Inc.
*/
@@ -317,6 +318,28 @@ vdev_config_generate(spa_t *spa, vdev_t *vd, boolean_t getstats,
fnvlist_add_uint64(nv, ZPOOL_CONFIG_REMOVING,
vd->vdev_removing);
}
+
+ /* zpool command expects alloc class data */
+ if (getstats && vd->vdev_alloc_bias != VDEV_BIAS_NONE) {
+ const char *bias = NULL;
+
+ switch (vd->vdev_alloc_bias) {
+ case VDEV_BIAS_LOG:
+ bias = VDEV_ALLOC_BIAS_LOG;
+ break;
+ case VDEV_BIAS_SPECIAL:
+ bias = VDEV_ALLOC_BIAS_SPECIAL;
+ break;
+ case VDEV_BIAS_DEDUP:
+ bias = VDEV_ALLOC_BIAS_DEDUP;
+ break;
+ default:
+ ASSERT3U(vd->vdev_alloc_bias, ==,
+ VDEV_BIAS_NONE);
+ }
+ fnvlist_add_string(nv, ZPOOL_CONFIG_ALLOCATION_BIAS,
+ bias);
+ }
}
if (vd->vdev_dtl_sm != NULL) {