Deleted Added
full compact
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 ---