Lines Matching refs:zvp

162 	zfs_vertex_t *zvp = zfs_alloc(hdl, sizeof (zfs_vertex_t));
164 if (zvp == NULL)
169 (void) strlcpy(zvp->zv_dataset, dataset, sizeof (zvp->zv_dataset));
171 if ((zvp->zv_edges = zfs_alloc(hdl,
173 free(zvp);
177 zvp->zv_edgealloc = MIN_EDGECOUNT;
179 return (zvp);
186 zfs_vertex_destroy(zfs_vertex_t *zvp)
190 for (i = 0; i < zvp->zv_edgecount; i++)
191 zfs_edge_destroy(zvp->zv_edges[i]);
193 free(zvp->zv_edges);
194 free(zvp);
201 zfs_vertex_add_edge(libzfs_handle_t *hdl, zfs_vertex_t *zvp,
209 if (zvp->zv_edgecount == zvp->zv_edgealloc) {
212 if ((ptr = zfs_realloc(hdl, zvp->zv_edges,
213 zvp->zv_edgealloc * sizeof (void *),
214 zvp->zv_edgealloc * 2 * sizeof (void *))) == NULL)
217 zvp->zv_edges = ptr;
218 zvp->zv_edgealloc *= 2;
221 zvp->zv_edges[zvp->zv_edgecount++] = zep;
243 zfs_vertex_sort_edges(zfs_vertex_t *zvp)
245 if (zvp->zv_edgecount == 0)
248 qsort(zvp->zv_edges, zvp->zv_edgecount, sizeof (void *),
325 zfs_vertex_t *zvp;
327 for (zvp = zgp->zg_hash[idx]; zvp != NULL; zvp = zvp->zv_next) {
328 if (strcmp(zvp->zv_dataset, dataset) == 0) {
329 if (zvp->zv_txg == 0)
330 zvp->zv_txg = txg;
331 return (zvp);
335 if ((zvp = zfs_vertex_create(hdl, dataset)) == NULL)
338 zvp->zv_next = zgp->zg_hash[idx];
339 zvp->zv_txg = txg;
340 zgp->zg_hash[idx] = zvp;
343 return (zvp);
383 zfs_vertex_t *zvp;
388 zvp = zfs_graph_lookup(hdl, zgp, dataset, 0);
389 if (zvp == NULL)
391 if (zvp->zv_visited == VISIT_SEEN)
463 zvp->zv_visited = VISIT_SEEN;
618 zfs_vertex_t *zvp;
629 if ((zvp = zfs_graph_lookup(hdl, zgp, dataset, 0)) == NULL) {
636 if (topo_sort(hdl, allowrecursion, *result, count, zvp) != 0) {