Lines Matching full:hdl
78 namespace_clear(libzfs_handle_t *hdl) in namespace_clear() argument
80 if (hdl->libzfs_ns_avl) { in namespace_clear()
84 while ((cn = uu_avl_teardown(hdl->libzfs_ns_avl, in namespace_clear()
91 uu_avl_destroy(hdl->libzfs_ns_avl); in namespace_clear()
92 hdl->libzfs_ns_avl = NULL; in namespace_clear()
95 if (hdl->libzfs_ns_avlpool) { in namespace_clear()
96 uu_avl_pool_destroy(hdl->libzfs_ns_avlpool); in namespace_clear()
97 hdl->libzfs_ns_avlpool = NULL; in namespace_clear()
105 namespace_reload(libzfs_handle_t *hdl) in namespace_reload() argument
113 if (hdl->libzfs_ns_gen == 0) { in namespace_reload()
119 if ((hdl->libzfs_ns_avlpool = uu_avl_pool_create("config_pool", in namespace_reload()
123 return (no_memory(hdl)); in namespace_reload()
125 if ((hdl->libzfs_ns_avl = uu_avl_create(hdl->libzfs_ns_avlpool, in namespace_reload()
127 return (no_memory(hdl)); in namespace_reload()
130 zcmd_alloc_dst_nvlist(hdl, &zc, 0); in namespace_reload()
133 zc.zc_cookie = hdl->libzfs_ns_gen; in namespace_reload()
134 if (zfs_ioctl(hdl, ZFS_IOC_POOL_CONFIGS, &zc) != 0) { in namespace_reload()
144 zcmd_expand_dst_nvlist(hdl, &zc); in namespace_reload()
149 return (zfs_standard_error(hdl, errno, in namespace_reload()
154 hdl->libzfs_ns_gen = zc.zc_cookie; in namespace_reload()
159 if (zcmd_read_dst_nvlist(hdl, &zc, &config) != 0) { in namespace_reload()
170 while ((cn = uu_avl_teardown(hdl->libzfs_ns_avl, &cookie)) != NULL) { in namespace_reload()
181 cn = zfs_alloc(hdl, sizeof (config_node_t)); in namespace_reload()
182 cn->cn_name = zfs_strdup(hdl, nvpair_name(elem)); in namespace_reload()
188 return (no_memory(hdl)); in namespace_reload()
190 verify(uu_avl_find(hdl->libzfs_ns_avl, cn, NULL, &where) in namespace_reload()
193 uu_avl_insert(hdl->libzfs_ns_avl, cn, where); in namespace_reload()
255 libzfs_handle_t *hdl = zhp->zpool_hdl; in zpool_refresh_stats() local
263 zcmd_alloc_dst_nvlist(hdl, &zc, zhp->zpool_config_size); in zpool_refresh_stats()
276 zcmd_expand_dst_nvlist(hdl, &zc); in zpool_refresh_stats()
286 if (zcmd_read_dst_nvlist(hdl, &zc, &config) != 0) { in zpool_refresh_stats()
370 zpool_iter(libzfs_handle_t *hdl, zpool_iter_f func, void *data) in zpool_iter() argument
382 if (!hdl->libzfs_pool_iter && namespace_reload(hdl) != 0) in zpool_iter()
385 hdl->libzfs_pool_iter++; in zpool_iter()
386 for (cn = uu_avl_first(hdl->libzfs_ns_avl); cn != NULL; in zpool_iter()
387 cn = uu_avl_next(hdl->libzfs_ns_avl, cn)) { in zpool_iter()
392 if (zpool_open_silent(hdl, cn->cn_name, &zhp) != 0) { in zpool_iter()
393 hdl->libzfs_pool_iter--; in zpool_iter()
401 hdl->libzfs_pool_iter--; in zpool_iter()
405 hdl->libzfs_pool_iter--; in zpool_iter()
415 zfs_iter_root(libzfs_handle_t *hdl, zfs_iter_f func, void *data) in zfs_iter_root() argument
421 if (namespace_reload(hdl) != 0) in zfs_iter_root()
424 for (cn = uu_avl_first(hdl->libzfs_ns_avl); cn != NULL; in zfs_iter_root()
425 cn = uu_avl_next(hdl->libzfs_ns_avl, cn)) { in zfs_iter_root()
430 if ((zhp = make_dataset_handle(hdl, cn->cn_name)) == NULL) in zfs_iter_root()