spa.c (268720) | spa.c (269118) |
---|---|
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 196 unchanged lines hidden (view full) --- 205/* 206 * Get property values from the spa configuration. 207 */ 208static void 209spa_prop_get_config(spa_t *spa, nvlist_t **nvp) 210{ 211 vdev_t *rvd = spa->spa_root_vdev; 212 dsl_pool_t *pool = spa->spa_dsl_pool; | 1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 196 unchanged lines hidden (view full) --- 205/* 206 * Get property values from the spa configuration. 207 */ 208static void 209spa_prop_get_config(spa_t *spa, nvlist_t **nvp) 210{ 211 vdev_t *rvd = spa->spa_root_vdev; 212 dsl_pool_t *pool = spa->spa_dsl_pool; |
213 uint64_t size; 214 uint64_t alloc; 215 uint64_t space; 216 uint64_t cap, version; | 213 uint64_t size, alloc, cap, version; |
217 zprop_source_t src = ZPROP_SRC_NONE; 218 spa_config_dirent_t *dp; | 214 zprop_source_t src = ZPROP_SRC_NONE; 215 spa_config_dirent_t *dp; |
216 metaslab_class_t *mc = spa_normal_class(spa); |
|
219 220 ASSERT(MUTEX_HELD(&spa->spa_props_lock)); 221 222 if (rvd != NULL) { 223 alloc = metaslab_class_get_alloc(spa_normal_class(spa)); 224 size = metaslab_class_get_space(spa_normal_class(spa)); 225 spa_prop_add_list(*nvp, ZPOOL_PROP_NAME, spa_name(spa), 0, src); 226 spa_prop_add_list(*nvp, ZPOOL_PROP_SIZE, NULL, size, src); 227 spa_prop_add_list(*nvp, ZPOOL_PROP_ALLOCATED, NULL, alloc, src); 228 spa_prop_add_list(*nvp, ZPOOL_PROP_FREE, NULL, 229 size - alloc, src); 230 | 217 218 ASSERT(MUTEX_HELD(&spa->spa_props_lock)); 219 220 if (rvd != NULL) { 221 alloc = metaslab_class_get_alloc(spa_normal_class(spa)); 222 size = metaslab_class_get_space(spa_normal_class(spa)); 223 spa_prop_add_list(*nvp, ZPOOL_PROP_NAME, spa_name(spa), 0, src); 224 spa_prop_add_list(*nvp, ZPOOL_PROP_SIZE, NULL, size, src); 225 spa_prop_add_list(*nvp, ZPOOL_PROP_ALLOCATED, NULL, alloc, src); 226 spa_prop_add_list(*nvp, ZPOOL_PROP_FREE, NULL, 227 size - alloc, src); 228 |
231 space = 0; 232 for (int c = 0; c < rvd->vdev_children; c++) { 233 vdev_t *tvd = rvd->vdev_child[c]; 234 space += tvd->vdev_max_asize - tvd->vdev_asize; 235 } 236 spa_prop_add_list(*nvp, ZPOOL_PROP_EXPANDSZ, NULL, space, 237 src); 238 | 229 spa_prop_add_list(*nvp, ZPOOL_PROP_FRAGMENTATION, NULL, 230 metaslab_class_fragmentation(mc), src); 231 spa_prop_add_list(*nvp, ZPOOL_PROP_EXPANDSZ, NULL, 232 metaslab_class_expandable_space(mc), src); |
239 spa_prop_add_list(*nvp, ZPOOL_PROP_READONLY, NULL, 240 (spa_mode(spa) == FREAD), src); 241 242 cap = (size == 0) ? 0 : (alloc * 100 / size); 243 spa_prop_add_list(*nvp, ZPOOL_PROP_CAPACITY, NULL, cap, src); 244 245 spa_prop_add_list(*nvp, ZPOOL_PROP_DEDUPRATIO, NULL, 246 ddt_get_pool_dedup_ratio(spa), src); --- 6700 unchanged lines hidden --- | 233 spa_prop_add_list(*nvp, ZPOOL_PROP_READONLY, NULL, 234 (spa_mode(spa) == FREAD), src); 235 236 cap = (size == 0) ? 0 : (alloc * 100 / size); 237 spa_prop_add_list(*nvp, ZPOOL_PROP_CAPACITY, NULL, cap, src); 238 239 spa_prop_add_list(*nvp, ZPOOL_PROP_DEDUPRATIO, NULL, 240 ddt_get_pool_dedup_ratio(spa), src); --- 6700 unchanged lines hidden --- |