Lines Matching refs:cb

378 usage_prop_cb(int prop, void *cb)  in usage_prop_cb()  argument
380 FILE *fp = cb; in usage_prop_cb()
1009 destroy_cbdata_t *cb = data; in destroy_callback() local
1012 if (cb->cb_verbose) { in destroy_callback()
1013 if (cb->cb_parsable) { in destroy_callback()
1015 } else if (cb->cb_dryrun) { in destroy_callback()
1033 if (cb->cb_dryrun) { in destroy_callback()
1045 fnvlist_add_boolean(cb->cb_batchedsnaps, name); in destroy_callback()
1048 cb->cb_batchedsnaps, B_FALSE); in destroy_callback()
1049 fnvlist_free(cb->cb_batchedsnaps); in destroy_callback()
1050 cb->cb_batchedsnaps = fnvlist_alloc(); in destroy_callback()
1053 zfs_unmount(zhp, NULL, cb->cb_force ? MS_FORCE : 0) != 0 || in destroy_callback()
1054 zfs_destroy(zhp, cb->cb_defer_destroy) != 0) { in destroy_callback()
1067 destroy_cbdata_t *cb = arg; in destroy_print_cb() local
1071 if (nvlist_exists(cb->cb_nvl, name)) { in destroy_print_cb()
1072 if (cb->cb_firstsnap == NULL) in destroy_print_cb()
1073 cb->cb_firstsnap = strdup(name); in destroy_print_cb()
1074 if (cb->cb_prevsnap != NULL) in destroy_print_cb()
1075 free(cb->cb_prevsnap); in destroy_print_cb()
1077 cb->cb_prevsnap = strdup(name); in destroy_print_cb()
1078 if (cb->cb_firstsnap == NULL || cb->cb_prevsnap == NULL) in destroy_print_cb()
1080 if (cb->cb_verbose) { in destroy_print_cb()
1081 if (cb->cb_parsable) { in destroy_print_cb()
1083 } else if (cb->cb_dryrun) { in destroy_print_cb()
1091 } else if (cb->cb_firstsnap != NULL) { in destroy_print_cb()
1094 err = lzc_snaprange_space(cb->cb_firstsnap, in destroy_print_cb()
1095 cb->cb_prevsnap, &used); in destroy_print_cb()
1096 cb->cb_snapused += used; in destroy_print_cb()
1097 free(cb->cb_firstsnap); in destroy_print_cb()
1098 cb->cb_firstsnap = NULL; in destroy_print_cb()
1099 free(cb->cb_prevsnap); in destroy_print_cb()
1100 cb->cb_prevsnap = NULL; in destroy_print_cb()
1107 destroy_print_snapshots(zfs_handle_t *fs_zhp, destroy_cbdata_t *cb) in destroy_print_snapshots() argument
1110 assert(cb->cb_firstsnap == NULL); in destroy_print_snapshots()
1111 assert(cb->cb_prevsnap == NULL); in destroy_print_snapshots()
1112 err = zfs_iter_snapshots_sorted(fs_zhp, destroy_print_cb, cb); in destroy_print_snapshots()
1113 if (cb->cb_firstsnap != NULL) { in destroy_print_snapshots()
1116 err = lzc_snaprange_space(cb->cb_firstsnap, in destroy_print_snapshots()
1117 cb->cb_prevsnap, &used); in destroy_print_snapshots()
1119 cb->cb_snapused += used; in destroy_print_snapshots()
1120 free(cb->cb_firstsnap); in destroy_print_snapshots()
1121 cb->cb_firstsnap = NULL; in destroy_print_snapshots()
1122 free(cb->cb_prevsnap); in destroy_print_snapshots()
1123 cb->cb_prevsnap = NULL; in destroy_print_snapshots()
1131 destroy_cbdata_t *cb = arg; in snapshot_to_nvl_cb() local
1135 if (!cb->cb_doclones && !cb->cb_defer_destroy) { in snapshot_to_nvl_cb()
1136 cb->cb_target = zhp; in snapshot_to_nvl_cb()
1137 cb->cb_first = B_TRUE; in snapshot_to_nvl_cb()
1139 destroy_check_dependent, cb); in snapshot_to_nvl_cb()
1143 if (nvlist_add_boolean(cb->cb_nvl, zfs_get_name(zhp))) in snapshot_to_nvl_cb()
1153 destroy_cbdata_t *cb = arg; in gather_snapshots() local
1156 err = zfs_iter_snapspec(zhp, cb->cb_snapspec, snapshot_to_nvl_cb, cb); in gather_snapshots()
1162 if (cb->cb_verbose) { in gather_snapshots()
1163 err = destroy_print_snapshots(zhp, cb); in gather_snapshots()
1168 if (cb->cb_recurse) in gather_snapshots()
1169 err = zfs_iter_filesystems(zhp, gather_snapshots, cb); in gather_snapshots()
1177 destroy_clones(destroy_cbdata_t *cb) in destroy_clones() argument
1180 for (pair = nvlist_next_nvpair(cb->cb_nvl, NULL); in destroy_clones()
1182 pair = nvlist_next_nvpair(cb->cb_nvl, pair)) { in destroy_clones()
1186 boolean_t defer = cb->cb_defer_destroy; in destroy_clones()
1193 cb->cb_defer_destroy = B_FALSE; in destroy_clones()
1195 destroy_callback, cb); in destroy_clones()
1196 cb->cb_defer_destroy = defer; in destroy_clones()
1208 destroy_cbdata_t cb = { 0 }; in zfs_do_destroy() local
1220 cb.cb_verbose = B_TRUE; in zfs_do_destroy()
1223 cb.cb_verbose = B_TRUE; in zfs_do_destroy()
1224 cb.cb_parsable = B_TRUE; in zfs_do_destroy()
1227 cb.cb_dryrun = B_TRUE; in zfs_do_destroy()
1230 cb.cb_defer_destroy = B_TRUE; in zfs_do_destroy()
1234 cb.cb_force = B_TRUE; in zfs_do_destroy()
1237 cb.cb_recurse = B_TRUE; in zfs_do_destroy()
1240 cb.cb_recurse = B_TRUE; in zfs_do_destroy()
1241 cb.cb_doclones = B_TRUE; in zfs_do_destroy()
1269 cb.cb_nvl = fnvlist_alloc(); in zfs_do_destroy()
1277 cb.cb_snapspec = at + 1; in zfs_do_destroy()
1278 if (gather_snapshots(zfs_handle_dup(zhp), &cb) != 0 || in zfs_do_destroy()
1279 cb.cb_error) { in zfs_do_destroy()
1284 if (nvlist_empty(cb.cb_nvl)) { in zfs_do_destroy()
1291 if (cb.cb_verbose) { in zfs_do_destroy()
1293 zfs_nicenum(cb.cb_snapused, buf, sizeof (buf)); in zfs_do_destroy()
1294 if (cb.cb_parsable) { in zfs_do_destroy()
1296 cb.cb_snapused); in zfs_do_destroy()
1297 } else if (cb.cb_dryrun) { in zfs_do_destroy()
1306 if (!cb.cb_dryrun) { in zfs_do_destroy()
1307 if (cb.cb_doclones) { in zfs_do_destroy()
1308 cb.cb_batchedsnaps = fnvlist_alloc(); in zfs_do_destroy()
1309 err = destroy_clones(&cb); in zfs_do_destroy()
1312 cb.cb_batchedsnaps, B_FALSE); in zfs_do_destroy()
1320 err = zfs_destroy_snaps_nvl(g_zfs, cb.cb_nvl, in zfs_do_destroy()
1321 cb.cb_defer_destroy); in zfs_do_destroy()
1331 if (cb.cb_dryrun) { in zfs_do_destroy()
1337 if (cb.cb_defer_destroy) { in zfs_do_destroy()
1343 if (cb.cb_recurse) { in zfs_do_destroy()
1364 nvlist_free(cb.cb_nvl); in zfs_do_destroy()
1372 cb.cb_target = zhp; in zfs_do_destroy()
1377 if (!cb.cb_recurse && strchr(zfs_get_name(zhp), '/') == NULL && in zfs_do_destroy()
1394 cb.cb_first = B_TRUE; in zfs_do_destroy()
1395 if (!cb.cb_doclones && in zfs_do_destroy()
1397 &cb) != 0) { in zfs_do_destroy()
1402 if (cb.cb_error) { in zfs_do_destroy()
1407 cb.cb_batchedsnaps = fnvlist_alloc(); in zfs_do_destroy()
1409 &cb) != 0) { in zfs_do_destroy()
1418 err = destroy_callback(zhp, &cb); in zfs_do_destroy()
1422 cb.cb_batchedsnaps, cb.cb_defer_destroy); in zfs_do_destroy()
1429 fnvlist_free(cb.cb_batchedsnaps); in zfs_do_destroy()
1430 fnvlist_free(cb.cb_nvl); in zfs_do_destroy()
1587 zprop_get_cbdata_t cb = { 0 }; in zfs_do_get() local
1598 cb.cb_sources = ZPROP_SRC_ALL; in zfs_do_get()
1599 cb.cb_columns[0] = GET_COL_NAME; in zfs_do_get()
1600 cb.cb_columns[1] = GET_COL_PROPERTY; in zfs_do_get()
1601 cb.cb_columns[2] = GET_COL_VALUE; in zfs_do_get()
1602 cb.cb_columns[3] = GET_COL_SOURCE; in zfs_do_get()
1603 cb.cb_type = ZFS_TYPE_DATASET; in zfs_do_get()
1609 cb.cb_literal = B_TRUE; in zfs_do_get()
1618 cb.cb_scripted = B_TRUE; in zfs_do_get()
1630 bzero(&cb.cb_columns, sizeof (cb.cb_columns)); in zfs_do_get()
1647 cb.cb_columns[i++] = GET_COL_NAME; in zfs_do_get()
1650 cb.cb_columns[i++] = GET_COL_PROPERTY; in zfs_do_get()
1653 cb.cb_columns[i++] = GET_COL_VALUE; in zfs_do_get()
1656 cb.cb_columns[i++] = GET_COL_RECVD; in zfs_do_get()
1660 cb.cb_columns[i++] = GET_COL_SOURCE; in zfs_do_get()
1670 cb.cb_columns[0] = GET_COL_NAME; in zfs_do_get()
1671 cb.cb_columns[1] = GET_COL_PROPERTY; in zfs_do_get()
1672 cb.cb_columns[2] = GET_COL_VALUE; in zfs_do_get()
1673 cb.cb_columns[3] = GET_COL_RECVD; in zfs_do_get()
1674 cb.cb_columns[4] = GET_COL_SOURCE; in zfs_do_get()
1688 cb.cb_sources = 0; in zfs_do_get()
1698 cb.cb_sources |= ZPROP_SRC_LOCAL; in zfs_do_get()
1701 cb.cb_sources |= ZPROP_SRC_DEFAULT; in zfs_do_get()
1704 cb.cb_sources |= ZPROP_SRC_INHERITED; in zfs_do_get()
1707 cb.cb_sources |= ZPROP_SRC_RECEIVED; in zfs_do_get()
1710 cb.cb_sources |= ZPROP_SRC_TEMPORARY; in zfs_do_get()
1713 cb.cb_sources |= ZPROP_SRC_NONE; in zfs_do_get()
1778 if (zprop_get_list(g_zfs, fields, &cb.cb_proplist, ZFS_TYPE_DATASET) in zfs_do_get()
1793 if (cb.cb_proplist != NULL) { in zfs_do_get()
1796 fake_name.pl_next = cb.cb_proplist; in zfs_do_get()
1797 cb.cb_proplist = &fake_name; in zfs_do_get()
1800 cb.cb_first = B_TRUE; in zfs_do_get()
1804 &cb.cb_proplist, limit, get_callback, &cb); in zfs_do_get()
1806 if (cb.cb_proplist == &fake_name) in zfs_do_get()
1809 zprop_free_list(cb.cb_proplist); in zfs_do_get()
1835 inherit_cbdata_t *cb = data; in inherit_recurse_cb() local
1836 zfs_prop_t prop = zfs_name_to_prop(cb->cb_propname); in inherit_recurse_cb()
1846 return (zfs_prop_inherit(zhp, cb->cb_propname, cb->cb_received) != 0); in inherit_recurse_cb()
1852 inherit_cbdata_t *cb = data; in inherit_cb() local
1854 return (zfs_prop_inherit(zhp, cb->cb_propname, cb->cb_received) != 0); in inherit_cb()
1862 inherit_cbdata_t cb = { 0 }; in zfs_do_inherit() local
1932 cb.cb_propname = propname; in zfs_do_inherit()
1933 cb.cb_received = received; in zfs_do_inherit()
1937 NULL, NULL, 0, inherit_recurse_cb, &cb); in zfs_do_inherit()
1940 NULL, NULL, 0, inherit_cb, &cb); in zfs_do_inherit()
1971 upgrade_cbdata_t *cb = data; in upgrade_list_callback() local
1975 if ((!cb->cb_newer && version < ZPL_VERSION) || in upgrade_list_callback()
1976 (cb->cb_newer && version > ZPL_VERSION)) { in upgrade_list_callback()
1978 if (cb->cb_newer) { in upgrade_list_callback()
1991 if (!cb->cb_foundone) { in upgrade_list_callback()
1995 cb->cb_foundone = B_TRUE; in upgrade_list_callback()
2007 upgrade_cbdata_t *cb = data; in upgrade_set_callback() local
2015 needed_spa_version = zfs_spa_version_map(cb->cb_version); in upgrade_set_callback()
2026 cb->cb_numfailed++; in upgrade_set_callback()
2031 if (version < cb->cb_version) { in upgrade_set_callback()
2034 "%llu", cb->cb_version); in upgrade_set_callback()
2035 if (cb->cb_lastfs[0] && !same_pool(zhp, cb->cb_lastfs)) { in upgrade_set_callback()
2046 cb->cb_numupgraded++; in upgrade_set_callback()
2048 cb->cb_numfailed++; in upgrade_set_callback()
2049 (void) strcpy(cb->cb_lastfs, zfs_get_name(zhp)); in upgrade_set_callback()
2050 } else if (version > cb->cb_version) { in upgrade_set_callback()
2055 cb->cb_numfailed++; in upgrade_set_callback()
2057 cb->cb_numsamegraded++; in upgrade_set_callback()
2073 upgrade_cbdata_t cb = { 0 }; in zfs_do_upgrade() local
2088 optarg, &cb.cb_version) != 0) { in zfs_do_upgrade()
2108 if ((!all && !argc) && ((flags & ZFS_ITER_RECURSE) | cb.cb_version)) in zfs_do_upgrade()
2111 cb.cb_version || argc)) in zfs_do_upgrade()
2138 if (cb.cb_version == 0) in zfs_do_upgrade()
2139 cb.cb_version = ZPL_VERSION; in zfs_do_upgrade()
2141 NULL, NULL, 0, upgrade_set_callback, &cb); in zfs_do_upgrade()
2143 cb.cb_numupgraded); in zfs_do_upgrade()
2144 if (cb.cb_numsamegraded) { in zfs_do_upgrade()
2147 cb.cb_numsamegraded); in zfs_do_upgrade()
2149 if (cb.cb_numfailed != 0) in zfs_do_upgrade()
2159 NULL, NULL, 0, upgrade_list_callback, &cb); in zfs_do_upgrade()
2161 found = cb.cb_foundone; in zfs_do_upgrade()
2162 cb.cb_foundone = B_FALSE; in zfs_do_upgrade()
2163 cb.cb_newer = B_TRUE; in zfs_do_upgrade()
2166 NULL, NULL, 0, upgrade_list_callback, &cb); in zfs_do_upgrade()
2168 if (!cb.cb_foundone && !found) { in zfs_do_upgrade()
2367 us_cbdata_t *cb = (us_cbdata_t *)arg; in userspace_cb() local
2368 zfs_userquota_prop_t prop = cb->cb_prop; in userspace_cb()
2373 uu_avl_pool_t *avl_pool = cb->cb_avl_pool; in userspace_cb()
2374 uu_avl_t *avl = cb->cb_avl; in userspace_cb()
2378 zfs_sort_column_t *sortcol = cb->cb_sortcol; in userspace_cb()
2385 us_sort_info_t sortinfo = { sortcol, cb->cb_numname }; in userspace_cb()
2423 if (!cb->cb_sid2posix) { in userspace_cb()
2435 if (cb->cb_sid2posix || domain == NULL || domain[0] == '\0') { in userspace_cb()
2439 if (!cb->cb_numname) { in userspace_cb()
2447 if (!cb->cb_numname) { in userspace_cb()
2461 if (cb->cb_sid2posix && in userspace_cb()
2469 if (typelen > cb->cb_width[typeidx]) in userspace_cb()
2470 cb->cb_width[typeidx] = typelen; in userspace_cb()
2475 if ((cb->cb_numname && cb->cb_sid2posix) || name == NULL) { in userspace_cb()
2485 if (namelen > cb->cb_width[nameidx]) in userspace_cb()
2486 cb->cb_width[nameidx] = namelen; in userspace_cb()
2502 if (cb->cb_nicenum) in userspace_cb()
2517 if (sizelen > cb->cb_width[sizeidx]) in userspace_cb()
2518 cb->cb_width[sizeidx] = sizelen; in userspace_cb()
2676 us_cbdata_t cb; in zfs_do_userspace() local
2800 cb.cb_sortcol = sortcol; in zfs_do_userspace()
2801 cb.cb_numname = prtnum; in zfs_do_userspace()
2802 cb.cb_nicenum = !parsable; in zfs_do_userspace()
2803 cb.cb_avl_pool = avl_pool; in zfs_do_userspace()
2804 cb.cb_avl = avl_tree; in zfs_do_userspace()
2805 cb.cb_sid2posix = sid2posix; in zfs_do_userspace()
2808 cb.cb_width[i] = strlen(gettext(us_field_hdr[i])); in zfs_do_userspace()
2816 cb.cb_prop = p; in zfs_do_userspace()
2817 if ((ret = zfs_userspace(zhp, p, userspace_cb, &cb)) != 0) in zfs_do_userspace()
2842 us_sort_info_t sortinfo = { sortcol, cb.cb_numname }; in zfs_do_userspace()
2852 print_us(scripted, parsable, fields, types, cb.cb_width, B_TRUE, in zfs_do_userspace()
2853 cb.cb_avl); in zfs_do_userspace()
2858 if ((walk = uu_avl_walk_start(cb.cb_avl, UU_WALK_ROBUST)) == NULL) in zfs_do_userspace()
2862 uu_avl_remove(cb.cb_avl, node); in zfs_do_userspace()
2901 print_header(list_cbdata_t *cb) in print_header() argument
2903 zprop_list_t *pl = cb->cb_proplist; in print_header()
2944 print_dataset(zfs_handle_t *zhp, list_cbdata_t *cb) in print_dataset() argument
2946 zprop_list_t *pl = cb->cb_proplist; in print_dataset()
2956 if (cb->cb_scripted) in print_dataset()
2972 cb->cb_literal) != 0) in print_dataset()
2979 property, sizeof (property), cb->cb_literal) != 0) in print_dataset()
2986 property, sizeof (property), cb->cb_literal) != 0) in print_dataset()
3006 if (cb->cb_scripted || (pl->pl_next == NULL && !right_justify)) in print_dataset()
3045 list_cbdata_t cb = { 0 }; in zfs_do_list() local
3059 cb.cb_literal = B_TRUE; in zfs_do_list()
3069 cb.cb_scripted = B_TRUE; in zfs_do_list()
3159 if (zprop_get_list(g_zfs, fields, &cb.cb_proplist, ZFS_TYPE_DATASET) in zfs_do_list()
3163 cb.cb_first = B_TRUE; in zfs_do_list()
3165 ret = zfs_for_each(argc, argv, flags, types, sortcol, &cb.cb_proplist, in zfs_do_list()
3166 limit, list_callback, &cb); in zfs_do_list()
3168 zprop_free_list(cb.cb_proplist); in zfs_do_list()
3171 if (ret == 0 && cb.cb_first && !cb.cb_scripted) in zfs_do_list()
3427 rollback_cbdata_t cb = { 0 }; in zfs_do_rollback() local
3436 cb.cb_recurse = 1; in zfs_do_rollback()
3439 cb.cb_recurse = 1; in zfs_do_rollback()
3440 cb.cb_doclones = 1; in zfs_do_rollback()
3482 cb.cb_target = argv[0]; in zfs_do_rollback()
3483 cb.cb_create = zfs_prop_get_int(snap, ZFS_PROP_CREATETXG); in zfs_do_rollback()
3484 cb.cb_first = B_TRUE; in zfs_do_rollback()
3485 cb.cb_error = 0; in zfs_do_rollback()
3486 if ((ret = zfs_iter_snapshots(zhp, B_FALSE, rollback_check, &cb)) != 0) in zfs_do_rollback()
3488 if ((ret = zfs_iter_bookmarks(zhp, rollback_check, &cb)) != 0) in zfs_do_rollback()
3491 if ((ret = cb.cb_error) != 0) in zfs_do_rollback()
3543 set_cbdata_t cb; in zfs_do_set() local
3565 cb.cb_propname = argv[1]; in zfs_do_set()
3566 if (((cb.cb_value = strchr(cb.cb_propname, '=')) == NULL) || in zfs_do_set()
3567 (cb.cb_value[1] == '\0')) { in zfs_do_set()
3573 *cb.cb_value = '\0'; in zfs_do_set()
3574 cb.cb_value++; in zfs_do_set()
3576 if (*cb.cb_propname == '\0') { in zfs_do_set()
3583 ZFS_TYPE_DATASET, NULL, NULL, 0, set_callback, &cb); in zfs_do_set()
5500 holds_cbdata_t cb = { 0 }; in zfs_do_holds() local
5553 cb.cb_recursive = recursive; in zfs_do_holds()
5554 cb.cb_snapname = snapname; in zfs_do_holds()
5555 cb.cb_nvlp = &nvl; in zfs_do_holds()
5561 holds_callback, &cb); in zfs_do_holds()
5569 print_holds(scripted, cb.cb_max_namelen, cb.cb_max_taglen, nvl); in zfs_do_holds()
5628 get_all_cb_t cb = { 0 }; in get_all_datasets() local
5629 cb.cb_verbose = verbose; in get_all_datasets()
5630 cb.cb_getone = get_one_dataset; in get_all_datasets()
5634 (void) zfs_iter_root(g_zfs, get_one_dataset, &cb); in get_all_datasets()
5636 *dslist = cb.cb_handles; in get_all_datasets()
5637 *count = cb.cb_used; in get_all_datasets()