diff options
author | Don Brady <don.brady@delphix.com> | 2019-04-12 15:10:57 +0000 |
---|---|---|
committer | Dan McDonald <danmcd@joyent.com> | 2019-04-13 00:31:22 -0400 |
commit | 663207adb1669640c01c5ec6949ce78fd806efae (patch) | |
tree | 16342a5e43b1009b87750b355927a34144204b4a /usr/src/lib/libzfs/common/libzfs_dataset.c | |
parent | 78a53e201c2691debc57ede24c524118299ab18c (diff) | |
download | illumos-gate-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/lib/libzfs/common/libzfs_dataset.c')
-rw-r--r-- | usr/src/lib/libzfs/common/libzfs_dataset.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/usr/src/lib/libzfs/common/libzfs_dataset.c b/usr/src/lib/libzfs/common/libzfs_dataset.c index f27322b694..662e207eea 100644 --- a/usr/src/lib/libzfs/common/libzfs_dataset.c +++ b/usr/src/lib/libzfs/common/libzfs_dataset.c @@ -1173,6 +1173,36 @@ zfs_valid_proplist(libzfs_handle_t *hdl, zfs_type_t type, nvlist_t *nvl, } break; } + + case ZFS_PROP_SPECIAL_SMALL_BLOCKS: + if (zpool_hdl != NULL) { + char state[64] = ""; + + /* + * Issue a warning but do not fail so that + * tests for setable properties succeed. + */ + if (zpool_prop_get_feature(zpool_hdl, + "feature@allocation_classes", state, + sizeof (state)) != 0 || + strcmp(state, ZFS_FEATURE_ACTIVE) != 0) { + (void) fprintf(stderr, gettext( + "%s: property requires a special " + "device in the pool\n"), propname); + } + } + if (intval != 0 && + (intval < SPA_MINBLOCKSIZE || + intval > SPA_OLD_MAXBLOCKSIZE || !ISP2(intval))) { + zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, + "invalid '%s=%d' property: must be zero or " + "a power of 2 from 512B to 128K"), propname, + intval); + (void) zfs_error(hdl, EZFS_BADPROP, errbuf); + goto error; + } + break; + case ZFS_PROP_MLSLABEL: { /* |