Lines Matching refs:hdl
79 namespace_clear(libzfs_handle_t *hdl) in namespace_clear() argument
81 if (hdl->libzfs_ns_avl) { in namespace_clear()
85 while ((cn = uu_avl_teardown(hdl->libzfs_ns_avl, in namespace_clear()
92 uu_avl_destroy(hdl->libzfs_ns_avl); in namespace_clear()
93 hdl->libzfs_ns_avl = NULL; in namespace_clear()
96 if (hdl->libzfs_ns_avlpool) { in namespace_clear()
97 uu_avl_pool_destroy(hdl->libzfs_ns_avlpool); in namespace_clear()
98 hdl->libzfs_ns_avlpool = NULL; in namespace_clear()
106 namespace_reload(libzfs_handle_t *hdl) in namespace_reload() argument
114 if (hdl->libzfs_ns_gen == 0) { in namespace_reload()
120 if ((hdl->libzfs_ns_avlpool = uu_avl_pool_create("config_pool", in namespace_reload()
124 return (no_memory(hdl)); in namespace_reload()
126 if ((hdl->libzfs_ns_avl = uu_avl_create(hdl->libzfs_ns_avlpool, in namespace_reload()
128 return (no_memory(hdl)); in namespace_reload()
131 if (zcmd_alloc_dst_nvlist(hdl, &zc, 0) != 0) in namespace_reload()
135 zc.zc_cookie = hdl->libzfs_ns_gen; in namespace_reload()
136 if (ioctl(hdl->libzfs_fd, ZFS_IOC_POOL_CONFIGS, &zc) != 0) { in namespace_reload()
146 if (zcmd_expand_dst_nvlist(hdl, &zc) != 0) { in namespace_reload()
154 return (zfs_standard_error(hdl, errno, in namespace_reload()
159 hdl->libzfs_ns_gen = zc.zc_cookie; in namespace_reload()
164 if (zcmd_read_dst_nvlist(hdl, &zc, &config) != 0) { in namespace_reload()
175 while ((cn = uu_avl_teardown(hdl->libzfs_ns_avl, &cookie)) != NULL) { in namespace_reload()
186 if ((cn = zfs_alloc(hdl, sizeof (config_node_t))) == NULL) { in namespace_reload()
191 if ((cn->cn_name = zfs_strdup(hdl, in namespace_reload()
203 return (no_memory(hdl)); in namespace_reload()
205 verify(uu_avl_find(hdl->libzfs_ns_avl, cn, NULL, &where) in namespace_reload()
208 uu_avl_insert(hdl->libzfs_ns_avl, cn, where); in namespace_reload()
270 libzfs_handle_t *hdl = zhp->zpool_hdl; in zpool_refresh_stats() local
278 if (zcmd_alloc_dst_nvlist(hdl, &zc, zhp->zpool_config_size) != 0) in zpool_refresh_stats()
292 if (zcmd_expand_dst_nvlist(hdl, &zc) != 0) { in zpool_refresh_stats()
305 if (zcmd_read_dst_nvlist(hdl, &zc, &config) != 0) { in zpool_refresh_stats()
389 zpool_iter(libzfs_handle_t *hdl, zpool_iter_f func, void *data) in zpool_iter() argument
401 if (!hdl->libzfs_pool_iter && namespace_reload(hdl) != 0) in zpool_iter()
404 hdl->libzfs_pool_iter++; in zpool_iter()
405 for (cn = uu_avl_first(hdl->libzfs_ns_avl); cn != NULL; in zpool_iter()
406 cn = uu_avl_next(hdl->libzfs_ns_avl, cn)) { in zpool_iter()
411 if (zpool_open_silent(hdl, cn->cn_name, &zhp) != 0) { in zpool_iter()
412 hdl->libzfs_pool_iter--; in zpool_iter()
420 hdl->libzfs_pool_iter--; in zpool_iter()
424 hdl->libzfs_pool_iter--; in zpool_iter()
434 zfs_iter_root(libzfs_handle_t *hdl, zfs_iter_f func, void *data) in zfs_iter_root() argument
440 if (namespace_reload(hdl) != 0) in zfs_iter_root()
443 for (cn = uu_avl_first(hdl->libzfs_ns_avl); cn != NULL; in zfs_iter_root()
444 cn = uu_avl_next(hdl->libzfs_ns_avl, cn)) { in zfs_iter_root()
449 if ((zhp = make_dataset_handle(hdl, cn->cn_name)) == NULL) in zfs_iter_root()