diff options
Diffstat (limited to 'contrib/opensolaris/lib')
3 files changed, 12 insertions, 35 deletions
diff --git a/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c b/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c index d68c420..5e6de6d 100644 --- a/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c +++ b/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c @@ -339,22 +339,15 @@ void changelist_free(prop_changelist_t *clp) { prop_changenode_t *cn; - uu_list_walk_t *walk; + void *cookie; if (clp->cl_list) { - verify((walk = uu_list_walk_start(clp->cl_list, - UU_WALK_ROBUST)) != NULL); - - while ((cn = uu_list_walk_next(walk)) != NULL) { - - uu_list_remove(clp->cl_list, cn); - + cookie = NULL; + while ((cn = uu_list_teardown(clp->cl_list, &cookie)) != NULL) { zfs_close(cn->cn_handle); free(cn); } - uu_list_walk_end(walk); - uu_list_destroy(clp->cl_list); } if (clp->cl_pool) @@ -418,7 +411,7 @@ change_one(zfs_handle_t *zhp, void *data) } else { ASSERT(!clp->cl_alldependents); verify(uu_list_insert_before(clp->cl_list, - uu_list_first(clp->cl_list), cn) == 0); + uu_list_first(clp->cl_list), cn) == 0); } if (!clp->cl_alldependents) diff --git a/contrib/opensolaris/lib/libzfs/common/libzfs_config.c b/contrib/opensolaris/lib/libzfs/common/libzfs_config.c index 45e2920..94640d1 100644 --- a/contrib/opensolaris/lib/libzfs/common/libzfs_config.c +++ b/contrib/opensolaris/lib/libzfs/common/libzfs_config.c @@ -74,22 +74,16 @@ void namespace_clear(libzfs_handle_t *hdl) { if (hdl->libzfs_ns_avl) { - uu_avl_walk_t *walk; config_node_t *cn; + void *cookie = NULL; - if ((walk = uu_avl_walk_start(hdl->libzfs_ns_avl, - UU_WALK_ROBUST)) == NULL) - return; - - while ((cn = uu_avl_walk_next(walk)) != NULL) { - uu_avl_remove(hdl->libzfs_ns_avl, cn); + while ((cn = uu_avl_teardown(hdl->libzfs_ns_avl, + &cookie)) != NULL) { nvlist_free(cn->cn_config); free(cn->cn_name); free(cn); } - uu_avl_walk_end(walk); - uu_avl_destroy(hdl->libzfs_ns_avl); hdl->libzfs_ns_avl = NULL; } @@ -110,7 +104,7 @@ namespace_reload(libzfs_handle_t *hdl) config_node_t *cn; nvpair_t *elem; zfs_cmd_t zc = { 0 }; - uu_avl_walk_t *walk; + void *cookie; if (hdl->libzfs_ns_gen == 0) { /* @@ -172,21 +166,13 @@ namespace_reload(libzfs_handle_t *hdl) /* * Clear out any existing configuration information. */ - if ((walk = uu_avl_walk_start(hdl->libzfs_ns_avl, - UU_WALK_ROBUST)) == NULL) { - nvlist_free(config); - return (no_memory(hdl)); - } - - while ((cn = uu_avl_walk_next(walk)) != NULL) { - uu_avl_remove(hdl->libzfs_ns_avl, cn); + cookie = NULL; + while ((cn = uu_avl_teardown(hdl->libzfs_ns_avl, &cookie)) != NULL) { nvlist_free(cn->cn_config); free(cn->cn_name); free(cn); } - uu_avl_walk_end(walk); - elem = NULL; while ((elem = nvlist_next_nvpair(config, elem)) != NULL) { nvlist_t *child; @@ -222,7 +208,7 @@ namespace_reload(libzfs_handle_t *hdl) } /* - * Retrive the configuration for the given pool. The configuration is a nvlist + * Retrieve the configuration for the given pool. The configuration is a nvlist * describing the vdevs, as well as the statistics associated with each one. */ nvlist_t * diff --git a/contrib/opensolaris/lib/libzfs/common/libzfs_import.c b/contrib/opensolaris/lib/libzfs/common/libzfs_import.c index 26d15e9..1c77045 100644 --- a/contrib/opensolaris/lib/libzfs/common/libzfs_import.c +++ b/contrib/opensolaris/lib/libzfs/common/libzfs_import.c @@ -220,7 +220,7 @@ add_config(libzfs_handle_t *hdl, pool_list_t *pl, const char *path, &state) == 0 && state == POOL_STATE_SPARE && nvlist_lookup_uint64(config, ZPOOL_CONFIG_GUID, &vdev_guid) == 0) { if ((ne = zfs_alloc(hdl, sizeof (name_entry_t))) == NULL) - return (-1); + return (-1); if ((ne->ne_name = zfs_strdup(hdl, path)) == NULL) { free(ne); @@ -748,7 +748,6 @@ nvlist_t * zpool_find_import(libzfs_handle_t *hdl, int argc, char **argv) { int i; - DIR *dirp; char path[MAXPATHLEN]; nvlist_t *ret = NULL, *config; int fd; @@ -824,7 +823,6 @@ error: free(ne); } - return (ret); } |