Print this page
re #12585 rb4049 ZFS++ work port - refactoring to improve separation of open/closed code, bug fixes, performance improvements - open code
Bug 11205: add missing libzfs_closed_stubs.c to fix opensource-only build.
ZFS plus work: special vdevs, cos, cos/vdev properties
*** 19,28 ****
--- 19,29 ----
* CDDL HEADER END
*/
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
*/
#include <errno.h>
#include <libgen.h>
#include <libintl.h>
*** 81,86 ****
--- 82,112 ----
&is_log);
if (is_log)
nlogs++;
}
return (nlogs);
+ }
+
+ /*
+ * Return the number of special vdevs in supplied nvlist
+ */
+ uint_t
+ num_special(nvlist_t *nv)
+ {
+ uint_t nspecial = 0;
+ uint_t c, children;
+ nvlist_t **child;
+
+ if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_CHILDREN,
+ &child, &children) != 0)
+ return (0);
+
+ for (c = 0; c < children; c++) {
+ uint64_t is_special = B_FALSE;
+
+ (void) nvlist_lookup_uint64(child[c], ZPOOL_CONFIG_IS_SPECIAL,
+ &is_special);
+ if (is_special)
+ nspecial++;
+ }
+ return (nspecial);
}