• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/contrib/openzfs/lib/libzfs/

Lines Matching refs:hdl

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