Lines Matching refs:cb

370 usage_prop_cb(int prop, void *cb)
372 FILE *fp = cb;
1018 destroy_cbdata_t *cb = data;
1021 if (cb->cb_verbose) {
1022 if (cb->cb_parsable) {
1024 } else if (cb->cb_dryrun) {
1042 if (cb->cb_dryrun) {
1054 fnvlist_add_boolean(cb->cb_batchedsnaps, name);
1057 cb->cb_batchedsnaps, B_FALSE);
1058 fnvlist_free(cb->cb_batchedsnaps);
1059 cb->cb_batchedsnaps = fnvlist_alloc();
1062 zfs_unmount(zhp, NULL, cb->cb_force ? MS_FORCE : 0) != 0 ||
1063 zfs_destroy(zhp, cb->cb_defer_destroy) != 0) {
1076 destroy_cbdata_t *cb = arg;
1080 if (nvlist_exists(cb->cb_nvl, name)) {
1081 if (cb->cb_firstsnap == NULL)
1082 cb->cb_firstsnap = strdup(name);
1083 if (cb->cb_prevsnap != NULL)
1084 free(cb->cb_prevsnap);
1086 cb->cb_prevsnap = strdup(name);
1087 if (cb->cb_firstsnap == NULL || cb->cb_prevsnap == NULL)
1089 if (cb->cb_verbose) {
1090 if (cb->cb_parsable) {
1092 } else if (cb->cb_dryrun) {
1100 } else if (cb->cb_firstsnap != NULL) {
1103 err = lzc_snaprange_space(cb->cb_firstsnap,
1104 cb->cb_prevsnap, &used);
1105 cb->cb_snapused += used;
1106 free(cb->cb_firstsnap);
1107 cb->cb_firstsnap = NULL;
1108 free(cb->cb_prevsnap);
1109 cb->cb_prevsnap = NULL;
1116 destroy_print_snapshots(zfs_handle_t *fs_zhp, destroy_cbdata_t *cb)
1119 assert(cb->cb_firstsnap == NULL);
1120 assert(cb->cb_prevsnap == NULL);
1121 err = zfs_iter_snapshots_sorted(fs_zhp, destroy_print_cb, cb);
1122 if (cb->cb_firstsnap != NULL) {
1125 err = lzc_snaprange_space(cb->cb_firstsnap,
1126 cb->cb_prevsnap, &used);
1128 cb->cb_snapused += used;
1129 free(cb->cb_firstsnap);
1130 cb->cb_firstsnap = NULL;
1131 free(cb->cb_prevsnap);
1132 cb->cb_prevsnap = NULL;
1140 destroy_cbdata_t *cb = arg;
1144 if (!cb->cb_doclones && !cb->cb_defer_destroy) {
1145 cb->cb_target = zhp;
1146 cb->cb_first = B_TRUE;
1148 destroy_check_dependent, cb);
1152 if (nvlist_add_boolean(cb->cb_nvl, zfs_get_name(zhp)))
1162 destroy_cbdata_t *cb = arg;
1165 err = zfs_iter_snapspec(zhp, cb->cb_snapspec, snapshot_to_nvl_cb, cb);
1171 if (cb->cb_verbose) {
1172 err = destroy_print_snapshots(zhp, cb);
1177 if (cb->cb_recurse)
1178 err = zfs_iter_filesystems(zhp, gather_snapshots, cb);
1186 destroy_clones(destroy_cbdata_t *cb)
1189 for (pair = nvlist_next_nvpair(cb->cb_nvl, NULL);
1191 pair = nvlist_next_nvpair(cb->cb_nvl, pair)) {
1195 boolean_t defer = cb->cb_defer_destroy;
1202 cb->cb_defer_destroy = B_FALSE;
1204 destroy_callback, cb);
1205 cb->cb_defer_destroy = defer;
1217 destroy_cbdata_t cb = { 0 };
1229 cb.cb_verbose = B_TRUE;
1232 cb.cb_verbose = B_TRUE;
1233 cb.cb_parsable = B_TRUE;
1236 cb.cb_dryrun = B_TRUE;
1239 cb.cb_defer_destroy = B_TRUE;
1243 cb.cb_force = B_TRUE;
1246 cb.cb_recurse = B_TRUE;
1249 cb.cb_recurse = B_TRUE;
1250 cb.cb_doclones = B_TRUE;
1278 cb.cb_nvl = fnvlist_alloc();
1286 cb.cb_snapspec = at + 1;
1287 if (gather_snapshots(zfs_handle_dup(zhp), &cb) != 0 ||
1288 cb.cb_error) {
1293 if (nvlist_empty(cb.cb_nvl)) {
1300 if (cb.cb_verbose) {
1302 zfs_nicenum(cb.cb_snapused, buf, sizeof (buf));
1303 if (cb.cb_parsable) {
1305 cb.cb_snapused);
1306 } else if (cb.cb_dryrun) {
1315 if (!cb.cb_dryrun) {
1316 if (cb.cb_doclones) {
1317 cb.cb_batchedsnaps = fnvlist_alloc();
1318 err = destroy_clones(&cb);
1321 cb.cb_batchedsnaps, B_FALSE);
1329 err = zfs_destroy_snaps_nvl(g_zfs, cb.cb_nvl,
1330 cb.cb_defer_destroy);
1340 if (cb.cb_dryrun) {
1346 if (cb.cb_defer_destroy) {
1352 if (cb.cb_recurse) {
1373 nvlist_free(cb.cb_nvl);
1381 cb.cb_target = zhp;
1386 if (!cb.cb_recurse && strchr(zfs_get_name(zhp), '/') == NULL &&
1403 cb.cb_first = B_TRUE;
1404 if (!cb.cb_doclones &&
1406 &cb) != 0) {
1411 if (cb.cb_error) {
1416 cb.cb_batchedsnaps = fnvlist_alloc();
1418 &cb) != 0) {
1427 err = destroy_callback(zhp, &cb);
1431 cb.cb_batchedsnaps, cb.cb_defer_destroy);
1438 fnvlist_free(cb.cb_batchedsnaps);
1439 fnvlist_free(cb.cb_nvl);
1596 zprop_get_cbdata_t cb = { 0 };
1607 cb.cb_sources = ZPROP_SRC_ALL;
1608 cb.cb_columns[0] = GET_COL_NAME;
1609 cb.cb_columns[1] = GET_COL_PROPERTY;
1610 cb.cb_columns[2] = GET_COL_VALUE;
1611 cb.cb_columns[3] = GET_COL_SOURCE;
1612 cb.cb_type = ZFS_TYPE_DATASET;
1618 cb.cb_literal = B_TRUE;
1627 cb.cb_scripted = B_TRUE;
1639 bzero(&cb.cb_columns, sizeof (cb.cb_columns));
1656 cb.cb_columns[i++] = GET_COL_NAME;
1659 cb.cb_columns[i++] = GET_COL_PROPERTY;
1662 cb.cb_columns[i++] = GET_COL_VALUE;
1665 cb.cb_columns[i++] = GET_COL_RECVD;
1669 cb.cb_columns[i++] = GET_COL_SOURCE;
1679 cb.cb_columns[0] = GET_COL_NAME;
1680 cb.cb_columns[1] = GET_COL_PROPERTY;
1681 cb.cb_columns[2] = GET_COL_VALUE;
1682 cb.cb_columns[3] = GET_COL_RECVD;
1683 cb.cb_columns[4] = GET_COL_SOURCE;
1697 cb.cb_sources = 0;
1707 cb.cb_sources |= ZPROP_SRC_LOCAL;
1710 cb.cb_sources |= ZPROP_SRC_DEFAULT;
1713 cb.cb_sources |= ZPROP_SRC_INHERITED;
1716 cb.cb_sources |= ZPROP_SRC_RECEIVED;
1719 cb.cb_sources |= ZPROP_SRC_TEMPORARY;
1722 cb.cb_sources |= ZPROP_SRC_NONE;
1787 if (zprop_get_list(g_zfs, fields, &cb.cb_proplist, ZFS_TYPE_DATASET)
1802 if (cb.cb_proplist != NULL) {
1805 fake_name.pl_next = cb.cb_proplist;
1806 cb.cb_proplist = &fake_name;
1809 cb.cb_first = B_TRUE;
1813 &cb.cb_proplist, limit, get_callback, &cb);
1815 if (cb.cb_proplist == &fake_name)
1818 zprop_free_list(cb.cb_proplist);
1844 inherit_cbdata_t *cb = data;
1845 zfs_prop_t prop = zfs_name_to_prop(cb->cb_propname);
1855 return (zfs_prop_inherit(zhp, cb->cb_propname, cb->cb_received) != 0);
1861 inherit_cbdata_t *cb = data;
1863 return (zfs_prop_inherit(zhp, cb->cb_propname, cb->cb_received) != 0);
1871 inherit_cbdata_t cb = { 0 };
1945 cb.cb_propname = propname;
1946 cb.cb_received = received;
1950 NULL, NULL, 0, inherit_recurse_cb, &cb);
1953 NULL, NULL, 0, inherit_cb, &cb);
1984 upgrade_cbdata_t *cb = data;
1988 if ((!cb->cb_newer && version < ZPL_VERSION) ||
1989 (cb->cb_newer && version > ZPL_VERSION)) {
1991 if (cb->cb_newer) {
2004 if (!cb->cb_foundone) {
2008 cb->cb_foundone = B_TRUE;
2020 upgrade_cbdata_t *cb = data;
2028 needed_spa_version = zfs_spa_version_map(cb->cb_version);
2039 cb->cb_numfailed++;
2044 if (version < cb->cb_version) {
2047 "%llu", cb->cb_version);
2048 if (cb->cb_lastfs[0] && !same_pool(zhp, cb->cb_lastfs)) {
2059 cb->cb_numupgraded++;
2061 cb->cb_numfailed++;
2062 (void) strcpy(cb->cb_lastfs, zfs_get_name(zhp));
2063 } else if (version > cb->cb_version) {
2068 cb->cb_numfailed++;
2070 cb->cb_numsamegraded++;
2086 upgrade_cbdata_t cb = { 0 };
2101 optarg, &cb.cb_version) != 0) {
2121 if ((!all && !argc) && ((flags & ZFS_ITER_RECURSE) | cb.cb_version))
2124 cb.cb_version || argc))
2151 if (cb.cb_version == 0)
2152 cb.cb_version = ZPL_VERSION;
2154 NULL, NULL, 0, upgrade_set_callback, &cb);
2156 cb.cb_numupgraded);
2157 if (cb.cb_numsamegraded) {
2160 cb.cb_numsamegraded);
2162 if (cb.cb_numfailed != 0)
2172 NULL, NULL, 0, upgrade_list_callback, &cb);
2174 found = cb.cb_foundone;
2175 cb.cb_foundone = B_FALSE;
2176 cb.cb_newer = B_TRUE;
2179 NULL, NULL, 0, upgrade_list_callback, &cb);
2181 if (!cb.cb_foundone && !found) {
2383 us_cbdata_t *cb = (us_cbdata_t *)arg;
2384 zfs_userquota_prop_t prop = cb->cb_prop;
2389 uu_avl_pool_t *avl_pool = cb->cb_avl_pool;
2390 uu_avl_t *avl = cb->cb_avl;
2394 zfs_sort_column_t *sortcol = cb->cb_sortcol;
2401 us_sort_info_t sortinfo = { sortcol, cb->cb_numname };
2431 if (!cb->cb_sid2posix) {
2445 if (cb->cb_sid2posix || domain == NULL || domain[0] == '\0') {
2449 if (!cb->cb_numname) {
2457 if (!cb->cb_numname) {
2471 if (cb->cb_sid2posix &&
2479 if (typelen > cb->cb_width[typeidx])
2480 cb->cb_width[typeidx] = typelen;
2485 if ((cb->cb_numname && cb->cb_sid2posix) || name == NULL) {
2495 if (namelen > cb->cb_width[nameidx])
2496 cb->cb_width[nameidx] = namelen;
2512 if (cb->cb_nicenum)
2527 if (sizelen > cb->cb_width[sizeidx])
2528 cb->cb_width[sizeidx] = sizelen;
2685 us_cbdata_t cb;
2809 cb.cb_sortcol = sortcol;
2810 cb.cb_numname = prtnum;
2811 cb.cb_nicenum = !parsable;
2812 cb.cb_avl_pool = avl_pool;
2813 cb.cb_avl = avl_tree;
2814 cb.cb_sid2posix = sid2posix;
2817 cb.cb_width[i] = strlen(gettext(us_field_hdr[i]));
2825 cb.cb_prop = p;
2826 if ((ret = zfs_userspace(zhp, p, userspace_cb, &cb)) != 0)
2851 us_sort_info_t sortinfo = { sortcol, cb.cb_numname };
2861 print_us(scripted, parsable, fields, types, cb.cb_width, B_TRUE,
2862 cb.cb_avl);
2867 if ((walk = uu_avl_walk_start(cb.cb_avl, UU_WALK_ROBUST)) == NULL)
2871 uu_avl_remove(cb.cb_avl, node);
2910 print_header(list_cbdata_t *cb)
2912 zprop_list_t *pl = cb->cb_proplist;
2953 print_dataset(zfs_handle_t *zhp, list_cbdata_t *cb)
2955 zprop_list_t *pl = cb->cb_proplist;
2965 if (cb->cb_scripted)
2981 cb->cb_literal) != 0)
2988 property, sizeof (property), cb->cb_literal) != 0)
2995 property, sizeof (property), cb->cb_literal) != 0)
3015 if (cb->cb_scripted || (pl->pl_next == NULL && !right_justify))
3054 list_cbdata_t cb = { 0 };
3068 cb.cb_literal = B_TRUE;
3078 cb.cb_scripted = B_TRUE;
3168 if (zprop_get_list(g_zfs, fields, &cb.cb_proplist, ZFS_TYPE_DATASET)
3172 cb.cb_first = B_TRUE;
3174 ret = zfs_for_each(argc, argv, flags, types, sortcol, &cb.cb_proplist,
3175 limit, list_callback, &cb);
3177 zprop_free_list(cb.cb_proplist);
3180 if (ret == 0 && cb.cb_first && !cb.cb_scripted)
3407 rollback_cbdata_t cb = { 0 };
3416 cb.cb_recurse = 1;
3419 cb.cb_recurse = 1;
3420 cb.cb_doclones = 1;
3462 cb.cb_target = argv[0];
3463 cb.cb_create = zfs_prop_get_int(snap, ZFS_PROP_CREATETXG);
3464 cb.cb_first = B_TRUE;
3465 cb.cb_error = 0;
3466 if ((ret = zfs_iter_snapshots(zhp, B_FALSE, rollback_check, &cb)) != 0)
3468 if ((ret = zfs_iter_bookmarks(zhp, rollback_check, &cb)) != 0)
3471 if ((ret = cb.cb_error) != 0)
5623 holds_cbdata_t cb = { 0 };
5676 cb.cb_recursive = recursive;
5677 cb.cb_snapname = snapname;
5678 cb.cb_nvlp = &nvl;
5684 holds_callback, &cb);
5692 print_holds(scripted, cb.cb_max_namelen, cb.cb_max_taglen, nvl);
5751 get_all_cb_t cb = { 0 };
5752 cb.cb_verbose = verbose;
5753 cb.cb_getone = get_one_dataset;
5757 (void) zfs_iter_root(g_zfs, get_one_dataset, &cb);
5759 *dslist = cb.cb_handles;
5760 *count = cb.cb_used;