From b9b24bb4ca45f2d903efadba44d10dfd182f62ac Mon Sep 17 00:00:00 2001 From: Christopher Siden Date: Fri, 14 Dec 2012 15:00:45 -0800 Subject: Illumos #2762: zpool command should have better support for feature flags 2762 zpool command should have better support for feature flags Reviewed by: Matthew Ahrens Reviewed by: George Wilson Approved by: Eric Schrock References: illumos/illumos-gate@57221772c3fc05faba04bf48ddff45abf2bbf2bd https://www.illumos.org/issues/2762 Ported-by: Brian Behlendorf --- module/zfs/zfeature.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'module/zfs/zfeature.c') diff --git a/module/zfs/zfeature.c b/module/zfs/zfeature.c index de9d165a9..24ff18fc3 100644 --- a/module/zfs/zfeature.c +++ b/module/zfs/zfeature.c @@ -173,7 +173,7 @@ typedef enum { */ boolean_t feature_is_supported(objset_t *os, uint64_t obj, uint64_t desc_obj, - nvlist_t *unsup_feat) + nvlist_t *unsup_feat, nvlist_t *enabled_feat) { boolean_t supported; zap_cursor_t *zc; @@ -191,11 +191,16 @@ feature_is_supported(objset_t *os, uint64_t obj, uint64_t desc_obj, ASSERT(za->za_integer_length == sizeof (uint64_t) && za->za_num_integers == 1); + if (NULL != enabled_feat) { + fnvlist_add_uint64(enabled_feat, za->za_name, + za->za_first_integer); + } + if (za->za_first_integer != 0 && !zfeature_is_supported(za->za_name)) { supported = B_FALSE; - if (unsup_feat != NULL) { + if (NULL != unsup_feat) { char *desc = ""; if (zap_lookup(os, desc_obj, za->za_name, -- cgit v1.2.3