Lines Matching refs:cb
75 zfs_include_snapshots(zfs_handle_t *zhp, callback_data_t *cb) in zfs_include_snapshots() argument
79 if ((cb->cb_flags & ZFS_ITER_PROP_LISTSNAPS) == 0) in zfs_include_snapshots()
80 return (cb->cb_types & ZFS_TYPE_SNAPSHOT); in zfs_include_snapshots()
93 callback_data_t *cb = data; in zfs_callback() local
95 boolean_t include_snaps = zfs_include_snapshots(zhp, cb); in zfs_callback()
96 boolean_t include_bmarks = (cb->cb_types & ZFS_TYPE_BOOKMARK); in zfs_callback()
98 if ((zfs_get_type(zhp) & cb->cb_types) || in zfs_callback()
105 if (uu_avl_find(cb->cb_avl, node, cb->cb_sortcol, in zfs_callback()
107 if (cb->cb_proplist) { in zfs_callback()
108 if ((*cb->cb_proplist) && in zfs_callback()
109 !(*cb->cb_proplist)->pl_all) in zfs_callback()
111 cb->cb_props_table); in zfs_callback()
113 if (zfs_expand_proplist(zhp, cb->cb_proplist, in zfs_callback()
114 (cb->cb_flags & ZFS_ITER_RECVD_PROPS), in zfs_callback()
115 (cb->cb_flags & ZFS_ITER_LITERAL_PROPS)) in zfs_callback()
121 uu_avl_insert(cb->cb_avl, node, idx); in zfs_callback()
131 if (cb->cb_flags & ZFS_ITER_RECURSE && in zfs_callback()
132 ((cb->cb_flags & ZFS_ITER_DEPTH_LIMIT) == 0 || in zfs_callback()
133 cb->cb_depth < cb->cb_depth_limit)) { in zfs_callback()
134 cb->cb_depth++; in zfs_callback()
143 cb->cb_depth--; in zfs_callback()
354 callback_data_t cb = {0}; in zfs_for_each() local
365 cb.cb_sortcol = sortcol; in zfs_for_each()
366 cb.cb_flags = flags; in zfs_for_each()
367 cb.cb_proplist = proplist; in zfs_for_each()
368 cb.cb_types = types; in zfs_for_each()
369 cb.cb_depth_limit = limit; in zfs_for_each()
382 if (cb.cb_proplist && *cb.cb_proplist) { in zfs_for_each()
383 zprop_list_t *p = *cb.cb_proplist; in zfs_for_each()
388 cb.cb_props_table[p->pl_prop] = B_TRUE; in zfs_for_each()
396 cb.cb_props_table[sortcol->sc_prop] = B_TRUE; in zfs_for_each()
401 cb.cb_props_table[ZFS_PROP_ZONED] = B_TRUE; in zfs_for_each()
402 cb.cb_props_table[ZFS_PROP_CREATETXG] = B_TRUE; in zfs_for_each()
404 (void) memset(cb.cb_props_table, B_TRUE, in zfs_for_each()
405 sizeof (cb.cb_props_table)); in zfs_for_each()
408 if ((cb.cb_avl = uu_avl_create(avl_pool, NULL, UU_DEFAULT)) == NULL) in zfs_for_each()
415 cb.cb_flags |= ZFS_ITER_RECURSE; in zfs_for_each()
416 ret = zfs_iter_root(g_zfs, zfs_callback, &cb); in zfs_for_each()
442 ret |= zfs_callback(zhp, &cb); in zfs_for_each()
452 for (node = uu_avl_first(cb.cb_avl); node != NULL; in zfs_for_each()
453 node = uu_avl_next(cb.cb_avl, node)) in zfs_for_each()
459 if ((walk = uu_avl_walk_start(cb.cb_avl, UU_WALK_ROBUST)) == NULL) in zfs_for_each()
463 uu_avl_remove(cb.cb_avl, node); in zfs_for_each()
469 uu_avl_destroy(cb.cb_avl); in zfs_for_each()