Lines Matching refs:cb
594 print_pool_prop_cb(int prop, void *cb) in print_pool_prop_cb() argument
596 FILE *fp = cb; in print_pool_prop_cb()
617 print_vdev_prop_cb(int prop, void *cb) in print_vdev_prop_cb() argument
619 FILE *fp = cb; in print_vdev_prop_cb()
2417 export_cbdata_t *cb = data; in zpool_export_one() local
2423 if (cb->tpool != NULL) in zpool_export_one()
2424 pthread_mutex_lock(&cb->mnttab_lock); in zpool_export_one()
2426 int retval = zpool_disable_datasets(zhp, cb->force); in zpool_export_one()
2428 if (cb->tpool != NULL) in zpool_export_one()
2429 pthread_mutex_unlock(&cb->mnttab_lock); in zpool_export_one()
2434 if (cb->hardforce) { in zpool_export_one()
2437 } else if (zpool_export(zhp, cb->force, history_str) != 0) { in zpool_export_one()
2499 export_cbdata_t cb; in zpool_do_export() local
2524 cb.force = force; in zpool_do_export()
2525 cb.hardforce = hardforce; in zpool_do_export()
2526 cb.tpool = NULL; in zpool_do_export()
2527 cb.retval = 0; in zpool_do_export()
2540 cb.tpool = tpool_create(1, 5 * sysconf(_SC_NPROCESSORS_ONLN), in zpool_do_export()
2542 pthread_mutex_init(&cb.mnttab_lock, NULL); in zpool_do_export()
2546 B_FALSE, zpool_export_one_async, &cb); in zpool_do_export()
2548 tpool_wait(cb.tpool); in zpool_do_export()
2549 tpool_destroy(cb.tpool); in zpool_do_export()
2550 (void) pthread_mutex_destroy(&cb.mnttab_lock); in zpool_do_export()
2552 return (ret | cb.retval); in zpool_do_export()
2562 B_FALSE, zpool_export_one, &cb); in zpool_do_export()
2855 status_cbdata_t *cb = data; in vdev_health_check_cb() local
2868 if (cb->cb_print_slow_ios && vs->vs_slow_ios) in vdev_health_check_cb()
2878 print_status_config(zpool_handle_t *zhp, status_cbdata_t *cb, const char *name, in print_status_config() argument
2924 if (cb->cb_print_unhealthy && depth > 0 && in print_status_config()
2925 for_each_vdev_in_nvlist(nv, vdev_health_check_cb, cb) == 0) { in print_status_config()
2930 "\t%*s%-*s %-8s", depth, "", cb->cb_namewidth - depth, in print_status_config()
2946 if (cb->cb_literal) { in print_status_config()
2968 if (cb->cb_print_slow_ios) { in print_status_config()
2977 if (cb->cb_literal) in print_status_config()
2983 if (cb->cb_print_power) { in print_status_config()
3004 cb->cb_print_dio_verify) { in print_status_config()
3008 if (cb->cb_literal) in print_status_config()
3155 if (cb->vcdl != NULL) { in print_status_config()
3158 zpool_print_cmd(cb->vcdl, zpool_get_name(zhp), path); in print_status_config()
3164 print_status_initialize(vs, cb->cb_print_vdev_init); in print_status_config()
3165 print_status_trim(vs, cb->cb_print_vdev_trim); in print_status_config()
3192 cb->cb_name_flags | VDEV_NAME_TYPE_ID); in print_status_config()
3193 print_status_config(zhp, cb, vname, child[c], depth + 2, in print_status_config()
3204 print_import_config(status_cbdata_t *cb, const char *name, nvlist_t *nv, in print_import_config() argument
3221 (void) printf("\t%*s%-*s", depth, "", cb->cb_namewidth - depth, name); in print_import_config()
3286 cb->cb_name_flags | VDEV_NAME_TYPE_ID); in print_import_config()
3287 print_import_config(cb, vname, child[c], depth + 2); in print_import_config()
3296 cb->cb_name_flags); in print_import_config()
3307 cb->cb_name_flags); in print_import_config()
3324 print_class_vdevs(zpool_handle_t *zhp, status_cbdata_t *cb, nvlist_t *nv, in print_class_vdevs() argument
3331 assert(zhp != NULL || !cb->cb_verbose); in print_class_vdevs()
3365 cb->cb_name_flags | VDEV_NAME_TYPE_ID); in print_class_vdevs()
3366 if (cb->cb_print_status) in print_class_vdevs()
3367 print_status_config(zhp, cb, name, child[c], 2, in print_class_vdevs()
3370 print_import_config(cb, name, child[c], 2); in print_class_vdevs()
3396 status_cbdata_t cb = { 0 }; in show_import() local
3746 cb.cb_namewidth = max_width(NULL, nvroot, 0, strlen(name), in show_import()
3748 if (cb.cb_namewidth < 10) in show_import()
3749 cb.cb_namewidth = 10; in show_import()
3751 print_import_config(&cb, name, nvroot, 0); in show_import()
3753 print_class_vdevs(NULL, &cb, nvroot, VDEV_ALLOC_BIAS_DEDUP); in show_import()
3754 print_class_vdevs(NULL, &cb, nvroot, VDEV_ALLOC_BIAS_SPECIAL); in show_import()
3755 print_class_vdevs(NULL, &cb, nvroot, VDEV_ALLOC_CLASS_LOGS); in show_import()
4803 default_column_width(iostat_cbdata_t *cb, enum iostat_type type) in default_column_width() argument
4818 if (cb->cb_literal) in default_column_width()
4834 print_iostat_labels(iostat_cbdata_t *cb, unsigned int force_column_width, in print_iostat_labels() argument
4839 uint64_t flags = cb->cb_flags; in print_iostat_labels()
4847 column_width = default_column_width(cb, idx); in print_iostat_labels()
4951 print_iostat_dashes(iostat_cbdata_t *cb, unsigned int force_column_width, in print_iostat_dashes() argument
4956 uint64_t flags = cb->cb_flags; in print_iostat_dashes()
4963 if (cb->cb_flags & IOS_ANYHISTO_M) { in print_iostat_dashes()
4964 title = histo_to_title[IOS_HISTO_IDX(cb->cb_flags)]; in print_iostat_dashes()
4965 } else if (cb->cb_vdevs.cb_names_count) { in print_iostat_dashes()
4971 namewidth = MAX(MAX(strlen(title), cb->cb_namewidth), in print_iostat_dashes()
4989 column_width = default_column_width(cb, idx); in print_iostat_dashes()
5004 print_iostat_separator_impl(iostat_cbdata_t *cb, in print_iostat_separator_impl() argument
5007 print_iostat_dashes(cb, force_column_width, NULL); in print_iostat_separator_impl()
5011 print_iostat_separator(iostat_cbdata_t *cb) in print_iostat_separator() argument
5013 print_iostat_separator_impl(cb, 0); in print_iostat_separator()
5017 print_iostat_header_impl(iostat_cbdata_t *cb, unsigned int force_column_width, in print_iostat_header_impl() argument
5025 if (cb->cb_flags & IOS_ANYHISTO_M) { in print_iostat_header_impl()
5026 title = histo_to_title[IOS_HISTO_IDX(cb->cb_flags)]; in print_iostat_header_impl()
5027 } else if (cb->cb_vdevs.cb_names_count) { in print_iostat_header_impl()
5033 namewidth = MAX(MAX(strlen(title), cb->cb_namewidth), in print_iostat_header_impl()
5042 print_iostat_labels(cb, force_column_width, iostat_top_labels); in print_iostat_header_impl()
5047 print_iostat_labels(cb, force_column_width, iostat_bottom_labels); in print_iostat_header_impl()
5048 if (cb->vcdl != NULL) in print_iostat_header_impl()
5049 print_cmd_columns(cb->vcdl, 0); in print_iostat_header_impl()
5053 print_iostat_separator_impl(cb, force_column_width); in print_iostat_header_impl()
5055 if (cb->vcdl != NULL) in print_iostat_header_impl()
5056 print_cmd_columns(cb->vcdl, 1); in print_iostat_header_impl()
5064 print_iostat_header(iostat_cbdata_t *cb) in print_iostat_header() argument
5066 print_iostat_header_impl(cb, 0, NULL); in print_iostat_header()
5257 iostat_cbdata_t *cb, unsigned int column_width, unsigned int namewidth, in print_iostat_histo() argument
5267 if (cb->cb_literal) in print_iostat_histo()
5275 if (cb->cb_flags & IOS_RQ_HISTO_M) { in print_iostat_histo()
5284 if (cb->cb_flags & IOS_L_HISTO_M) { in print_iostat_histo()
5294 if (cb->cb_scripted) in print_iostat_histo()
5302 column_width, cb->cb_scripted); in print_iostat_histo()
5317 print_iostat_histos(iostat_cbdata_t *cb, nvlist_t *oldnv, in print_iostat_histos() argument
5329 type = IOS_HISTO_IDX(cb->cb_flags); in print_iostat_histos()
5337 if (cb->cb_literal) { in print_iostat_histos()
5344 namewidth = MAX(cb->cb_namewidth, in print_iostat_histos()
5345 strlen(histo_to_title[IOS_HISTO_IDX(cb->cb_flags)])); in print_iostat_histos()
5360 if (cb->cb_scripted) in print_iostat_histos()
5363 print_iostat_header_impl(cb, column_width, name); in print_iostat_histos()
5365 print_iostat_histo(nva, names_len, cb, column_width, in print_iostat_histos()
5369 if (!cb->cb_scripted) in print_iostat_histos()
5404 print_iostat_queues(iostat_cbdata_t *cb, nvlist_t *newnv) in print_iostat_queues() argument
5425 unsigned int column_width = default_column_width(cb, IOS_QUEUES); in print_iostat_queues()
5430 if (cb->cb_literal) in print_iostat_queues()
5437 print_one_stat(val, format, column_width, cb->cb_scripted); in print_iostat_queues()
5444 print_iostat_latency(iostat_cbdata_t *cb, nvlist_t *oldnv, in print_iostat_latency() argument
5464 unsigned int column_width = default_column_width(cb, IOS_LATENCY); in print_iostat_latency()
5469 if (cb->cb_literal) in print_iostat_latency()
5478 print_one_stat(val, format, column_width, cb->cb_scripted); in print_iostat_latency()
5487 print_iostat_default(vdev_stat_t *vs, iostat_cbdata_t *cb, double scale) in print_iostat_default() argument
5489 unsigned int column_width = default_column_width(cb, IOS_DEFAULT); in print_iostat_default()
5493 if (cb->cb_literal) { in print_iostat_default()
5503 if (cb->cb_scripted) in print_iostat_default()
5510 cb->cb_scripted); in print_iostat_default()
5512 column_width, cb->cb_scripted); in print_iostat_default()
5516 format, column_width, cb->cb_scripted); in print_iostat_default()
5518 format, column_width, cb->cb_scripted); in print_iostat_default()
5520 format, column_width, cb->cb_scripted); in print_iostat_default()
5522 format, column_width, cb->cb_scripted); in print_iostat_default()
5540 nvlist_t *newnv, iostat_cbdata_t *cb, int depth) in print_vdev_stats() argument
5565 for (i = 0; i < cb->cb_vdevs.cb_names_count; i++) { in print_vdev_stats()
5567 if (strcmp(name, cb->cb_vdevs.cb_names[i]) == 0) { in print_vdev_stats()
5578 if (cb->cb_vdevs.cb_names_count && (i == cb->cb_vdevs.cb_names_count)) { in print_vdev_stats()
5591 if (!(cb->cb_flags & IOS_ANYHISTO_M)) { in print_vdev_stats()
5592 if (cb->cb_scripted) { in print_vdev_stats()
5595 if (strlen(name) + depth > cb->cb_namewidth) in print_vdev_stats()
5599 (int)(cb->cb_namewidth - strlen(name) - in print_vdev_stats()
5606 if ((oldvs->vs_timestamp == 0) && (cb->cb_flags & IOS_ANYHISTO_M)) { in print_vdev_stats()
5620 if (cb->cb_flags & IOS_DEFAULT_M) { in print_vdev_stats()
5622 print_iostat_default(calcvs, cb, scale); in print_vdev_stats()
5624 if (cb->cb_flags & IOS_LATENCY_M) in print_vdev_stats()
5625 print_iostat_latency(cb, oldnv, newnv); in print_vdev_stats()
5626 if (cb->cb_flags & IOS_QUEUES_M) in print_vdev_stats()
5627 print_iostat_queues(cb, newnv); in print_vdev_stats()
5628 if (cb->cb_flags & IOS_ANYHISTO_M) { in print_vdev_stats()
5630 print_iostat_histos(cb, oldnv, newnv, scale, name); in print_vdev_stats()
5633 if (cb->vcdl != NULL) { in print_vdev_stats()
5638 zpool_print_cmd(cb->vcdl, zpool_get_name(zhp), path); in print_vdev_stats()
5642 if (!(cb->cb_flags & IOS_ANYHISTO_M)) in print_vdev_stats()
5651 if (!cb->cb_verbose) in print_vdev_stats()
5685 cb->cb_vdevs.cb_name_flags | VDEV_NAME_TYPE_ID); in print_vdev_stats()
5687 newchild[c], cb, depth + 2); in print_vdev_stats()
5718 if ((!(cb->cb_flags & IOS_ANYHISTO_M)) && in print_vdev_stats()
5719 !cb->cb_scripted && in print_vdev_stats()
5720 !cb->cb_vdevs.cb_names) { in print_vdev_stats()
5721 print_iostat_dashes(cb, 0, in print_vdev_stats()
5729 cb->cb_vdevs.cb_name_flags | VDEV_NAME_TYPE_ID); in print_vdev_stats()
5731 oldchild[c] : NULL, newchild[c], cb, depth + 2); in print_vdev_stats()
5752 if ((!(cb->cb_flags & IOS_ANYHISTO_M)) && !cb->cb_scripted && in print_vdev_stats()
5753 !cb->cb_vdevs.cb_names) { in print_vdev_stats()
5754 print_iostat_dashes(cb, 0, "cache"); in print_vdev_stats()
5760 cb->cb_vdevs.cb_name_flags); in print_vdev_stats()
5762 : NULL, newchild[c], cb, depth + 2); in print_vdev_stats()
5773 iostat_cbdata_t *cb = data; in refresh_iostat() local
5783 pool_list_remove(cb->cb_list, zhp); in refresh_iostat()
5794 iostat_cbdata_t *cb = data; in print_iostat() local
5801 if (cb->cb_iteration == 1) in print_iostat()
5814 cb, 0); in print_iostat()
5815 if ((ret != 0) && !(cb->cb_flags & IOS_ANYHISTO_M) && in print_iostat()
5816 !cb->cb_scripted && cb->cb_verbose && in print_iostat()
5817 !cb->cb_vdevs.cb_names_count) { in print_iostat()
5818 print_iostat_separator(cb); in print_iostat()
5819 if (cb->vcdl != NULL) { in print_iostat()
5820 print_cmd_columns(cb->vcdl, 1); in print_iostat()
6030 vdev_cbdata_t *cb = cb_data; in is_vdev_cb() local
6036 return (guid == zpool_vdev_path_to_guid(zhp, cb->cb_names[0])); in is_vdev_cb()
6056 vdev_cbdata_t *cb) in are_vdevs_in_pool() argument
6070 tmp_name = cb->cb_names; in are_vdevs_in_pool()
6074 cb->cb_names = argv + i; in are_vdevs_in_pool()
6078 ZFS_TYPE_POOL, B_FALSE, is_vdev, cb); in are_vdevs_in_pool()
6085 cb->cb_names = tmp_name; in are_vdevs_in_pool()
6130 vdev_cbdata_t *cb) in error_list_unresolved_vdevs() argument
6140 else if (are_vdevs_in_pool(1, &name, pool_name, cb)) in error_list_unresolved_vdevs()
6142 else if (are_vdevs_in_pool(1, &name, NULL, cb)) in error_list_unresolved_vdevs()
6158 unsigned long *count, iostat_cbdata_t *cb) in get_interval_count_filter_guids() argument
6165 &cb->cb_vdevs)) { in get_interval_count_filter_guids()
6174 &cb->cb_vdevs)) { in get_interval_count_filter_guids()
6303 iostat_cbdata_t *cb = data; in get_namewidth_iostat() local
6310 width = get_namewidth(zhp, cb->cb_namewidth, in get_namewidth_iostat()
6311 cb->cb_vdevs.cb_name_flags | VDEV_NAME_TYPE_ID, cb->cb_verbose); in get_namewidth_iostat()
6340 cb->cb_namewidth = width; in get_namewidth_iostat()
6390 iostat_cbdata_t cb = { 0 }; in zpool_do_iostat() local
6484 cb.cb_literal = parsable; in zpool_do_iostat()
6485 cb.cb_scripted = scripted; in zpool_do_iostat()
6488 cb.cb_vdevs.cb_name_flags |= VDEV_NAME_GUID; in zpool_do_iostat()
6490 cb.cb_vdevs.cb_name_flags |= VDEV_NAME_FOLLOW_LINKS; in zpool_do_iostat()
6492 cb.cb_vdevs.cb_name_flags |= VDEV_NAME_PATH; in zpool_do_iostat()
6493 cb.cb_iteration = 0; in zpool_do_iostat()
6494 cb.cb_namewidth = 0; in zpool_do_iostat()
6495 cb.cb_verbose = verbose; in zpool_do_iostat()
6500 &count, &cb); in zpool_do_iostat()
6509 } else if (are_vdevs_in_pool(argc, argv, NULL, &cb.cb_vdevs)) { in zpool_do_iostat()
6511 cb.cb_vdevs.cb_names = argv; in zpool_do_iostat()
6512 cb.cb_vdevs.cb_names_count = argc; in zpool_do_iostat()
6517 &cb.cb_vdevs)) { in zpool_do_iostat()
6519 cb.cb_vdevs.cb_names = argv + 1; in zpool_do_iostat()
6520 cb.cb_vdevs.cb_names_count = argc - 1; in zpool_do_iostat()
6528 argv[0], &cb.cb_vdevs); in zpool_do_iostat()
6543 if (cb.cb_vdevs.cb_names_count != 0) { in zpool_do_iostat()
6547 cb.cb_verbose = B_TRUE; in zpool_do_iostat()
6588 cb.cb_list = list; in zpool_do_iostat()
6596 cb.cb_flags = IOS_L_HISTO_M; in zpool_do_iostat()
6598 cb.cb_flags = IOS_RQ_HISTO_M; in zpool_do_iostat()
6600 cb.cb_flags = IOS_DEFAULT_M; in zpool_do_iostat()
6602 cb.cb_flags |= IOS_LATENCY_M; in zpool_do_iostat()
6604 cb.cb_flags |= IOS_QUEUES_M; in zpool_do_iostat()
6610 unsupported_flags = cb.cb_flags & ~get_stat_flags(list); in zpool_do_iostat()
6638 cb.cb_iteration == 0); in zpool_do_iostat()
6647 &cb); in zpool_do_iostat()
6653 cb.cb_namewidth = 0; in zpool_do_iostat()
6655 get_namewidth_iostat, &cb); in zpool_do_iostat()
6660 if (cmd != NULL && cb.cb_verbose && in zpool_do_iostat()
6661 !(cb.cb_flags & IOS_ANYHISTO_M)) { in zpool_do_iostat()
6662 cb.vcdl = all_pools_for_each_vdev_run(argc, in zpool_do_iostat()
6663 argv, cmd, g_zfs, cb.cb_vdevs.cb_names, in zpool_do_iostat()
6664 cb.cb_vdevs.cb_names_count, in zpool_do_iostat()
6665 cb.cb_vdevs.cb_name_flags); in zpool_do_iostat()
6667 cb.vcdl = NULL; in zpool_do_iostat()
6691 if (((++cb.cb_iteration == 1 && !skip) || in zpool_do_iostat()
6694 (cb.cb_iteration % winheight) == 0)) && in zpool_do_iostat()
6695 (!(cb.cb_flags & IOS_ANYHISTO_M)) && in zpool_do_iostat()
6696 !cb.cb_scripted) in zpool_do_iostat()
6697 print_iostat_header(&cb); in zpool_do_iostat()
6705 pool_list_iter(list, B_FALSE, print_iostat, &cb); in zpool_do_iostat()
6716 !(cb.cb_flags & IOS_ANYHISTO_M)) || in zpool_do_iostat()
6717 (!(cb.cb_flags & IOS_ANYHISTO_M) && in zpool_do_iostat()
6718 cb.cb_vdevs.cb_names_count)) && in zpool_do_iostat()
6719 !cb.cb_scripted) { in zpool_do_iostat()
6720 print_iostat_separator(&cb); in zpool_do_iostat()
6721 if (cb.vcdl != NULL) in zpool_do_iostat()
6722 print_cmd_columns(cb.vcdl, 1); in zpool_do_iostat()
6726 if (cb.vcdl != NULL) in zpool_do_iostat()
6727 free_vdev_cmd_data_list(cb.vcdl); in zpool_do_iostat()
6764 print_header(list_cbdata_t *cb) in print_header() argument
6766 zprop_list_t *pl = cb->cb_proplist; in print_header()
6775 if (first && cb->cb_verbose) { in print_header()
6780 width = cb->cb_namewidth; in print_header()
6817 collect_pool(zpool_handle_t *zhp, list_cbdata_t *cb) in collect_pool() argument
6819 zprop_list_t *pl = cb->cb_proplist; in collect_pool()
6829 if (cb->cb_json) { in collect_pool()
6832 d = fnvlist_lookup_nvlist(cb->cb_jsobj, "pools"); in collect_pool()
6837 fill_pool_info(item, zhp, B_TRUE, cb->cb_json_as_int); in collect_pool()
6843 if (first && cb->cb_verbose) { in collect_pool()
6848 width = cb->cb_namewidth; in collect_pool()
6851 if (!cb->cb_json && !first) { in collect_pool()
6852 if (cb->cb_scripted) in collect_pool()
6864 cb->cb_literal) != 0) in collect_pool()
6884 if (cb->cb_json) { in collect_pool()
6894 sourcetype, NULL, NULL, props, cb->cb_json_as_int); in collect_pool()
6901 if (cb->cb_scripted || (pl->pl_next == NULL && in collect_pool()
6911 if (cb->cb_json) { in collect_pool()
6913 if (cb->cb_json_pool_key_guid) { in collect_pool()
7001 list_cbdata_t *cb, int depth, boolean_t isspare, nvlist_t *item) in collect_list_stats() argument
7007 boolean_t scripted = cb->cb_scripted; in collect_list_stats()
7023 if (cb->cb_literal) in collect_list_stats()
7031 if (cb->cb_json) { in collect_list_stats()
7035 cb->cb_json_as_int); in collect_list_stats()
7039 else if (strlen(name) + depth > cb->cb_namewidth) in collect_list_stats()
7043 (int)(cb->cb_namewidth - strlen(name) - in collect_list_stats()
7055 scripted, B_TRUE, format, cb->cb_json, props, in collect_list_stats()
7056 cb->cb_json_as_int); in collect_list_stats()
7059 scripted, toplevel, format, cb->cb_json, props, in collect_list_stats()
7060 cb->cb_json_as_int); in collect_list_stats()
7063 scripted, toplevel, format, cb->cb_json, props, in collect_list_stats()
7064 cb->cb_json_as_int); in collect_list_stats()
7066 NULL, scripted, toplevel, format, cb->cb_json, props, in collect_list_stats()
7067 cb->cb_json_as_int); in collect_list_stats()
7070 cb->cb_json, props, cb->cb_json_as_int); in collect_list_stats()
7072 scripted, B_TRUE, format, cb->cb_json, props, in collect_list_stats()
7073 cb->cb_json_as_int); in collect_list_stats()
7077 format, cb->cb_json, props, cb->cb_json_as_int); in collect_list_stats()
7081 scripted, toplevel, format, cb->cb_json, props, in collect_list_stats()
7082 cb->cb_json_as_int); in collect_list_stats()
7084 scripted, toplevel, format, cb->cb_json, props, in collect_list_stats()
7085 cb->cb_json_as_int); in collect_list_stats()
7094 B_TRUE, format, cb->cb_json, props, cb->cb_json_as_int); in collect_list_stats()
7096 if (cb->cb_json) { in collect_list_stats()
7105 if (cb->cb_json) { in collect_list_stats()
7112 if (cb->cb_json) { in collect_list_stats()
7132 cb->cb_name_flags | VDEV_NAME_TYPE_ID); in collect_list_stats()
7134 if (name == NULL || cb->cb_json != B_TRUE) in collect_list_stats()
7135 collect_list_stats(zhp, vname, child[c], cb, depth + 2, in collect_list_stats()
7137 else if (cb->cb_json) { in collect_list_stats()
7138 collect_list_stats(zhp, vname, child[c], cb, depth + 2, in collect_list_stats()
7144 if (cb->cb_json) { in collect_list_stats()
7153 if (cb->cb_json) in collect_list_stats()
7173 if (!printed && !cb->cb_json) { in collect_list_stats()
7175 (void) printf(dashes, cb->cb_namewidth, in collect_list_stats()
7180 cb->cb_name_flags | VDEV_NAME_TYPE_ID); in collect_list_stats()
7181 collect_list_stats(zhp, vname, child[c], cb, depth + 2, in collect_list_stats()
7185 if (cb->cb_json) { in collect_list_stats()
7194 if (cb->cb_json) { in collect_list_stats()
7198 (void) printf(dashes, cb->cb_namewidth, "cache"); in collect_list_stats()
7202 cb->cb_name_flags); in collect_list_stats()
7203 collect_list_stats(zhp, vname, child[c], cb, depth + 2, in collect_list_stats()
7207 if (cb->cb_json) { in collect_list_stats()
7216 if (cb->cb_json) { in collect_list_stats()
7220 (void) printf(dashes, cb->cb_namewidth, "spare"); in collect_list_stats()
7224 cb->cb_name_flags); in collect_list_stats()
7225 collect_list_stats(zhp, vname, child[c], cb, depth + 2, in collect_list_stats()
7229 if (cb->cb_json) { in collect_list_stats()
7236 if (name != NULL && cb->cb_json) { in collect_list_stats()
7298 list_cbdata_t *cb = data; in get_namewidth_list() local
7301 width = get_namewidth(zhp, cb->cb_namewidth, in get_namewidth_list()
7302 cb->cb_name_flags | VDEV_NAME_TYPE_ID, cb->cb_verbose); in get_namewidth_list()
7307 cb->cb_namewidth = width; in get_namewidth_list()
7337 list_cbdata_t cb = { 0 }; in zpool_do_list() local
7362 cb.cb_name_flags |= VDEV_NAME_GUID; in zpool_do_list()
7365 cb.cb_scripted = B_TRUE; in zpool_do_list()
7368 cb.cb_name_flags |= VDEV_NAME_FOLLOW_LINKS; in zpool_do_list()
7374 cb.cb_name_flags |= VDEV_NAME_PATH; in zpool_do_list()
7377 cb.cb_literal = B_TRUE; in zpool_do_list()
7380 cb.cb_json = B_TRUE; in zpool_do_list()
7383 cb.cb_json_as_int = B_TRUE; in zpool_do_list()
7384 cb.cb_literal = B_TRUE; in zpool_do_list()
7387 cb.cb_json_pool_key_guid = B_TRUE; in zpool_do_list()
7393 cb.cb_verbose = B_TRUE; in zpool_do_list()
7394 cb.cb_namewidth = 8; /* 8 until precalc is avail */ in zpool_do_list()
7411 if (!cb.cb_json && cb.cb_json_as_int) { in zpool_do_list()
7417 if (!cb.cb_json && cb.cb_json_pool_key_guid) { in zpool_do_list()
7425 if (zprop_get_list(g_zfs, props, &cb.cb_proplist, ZFS_TYPE_POOL) != 0) in zpool_do_list()
7429 if ((list = pool_list_get(argc, argv, &cb.cb_proplist, in zpool_do_list()
7430 ZFS_TYPE_POOL, cb.cb_literal, &ret)) == NULL) in zpool_do_list()
7436 if (cb.cb_json) { in zpool_do_list()
7437 cb.cb_jsobj = zpool_json_schema(0, 1); in zpool_do_list()
7439 fnvlist_add_nvlist(cb.cb_jsobj, "pools", data); in zpool_do_list()
7443 cb.cb_namewidth = 0; in zpool_do_list()
7444 (void) pool_list_iter(list, B_FALSE, get_namewidth_list, &cb); in zpool_do_list()
7447 if (cb.cb_json) { in zpool_do_list()
7448 if (cb.cb_json_as_int) { in zpool_do_list()
7449 fnvlist_add_uint64(cb.cb_jsobj, "time", in zpool_do_list()
7454 fnvlist_add_string(cb.cb_jsobj, "time", in zpool_do_list()
7461 if (!cb.cb_scripted && (first || cb.cb_verbose) && in zpool_do_list()
7462 !cb.cb_json) { in zpool_do_list()
7463 print_header(&cb); in zpool_do_list()
7466 ret = pool_list_iter(list, B_TRUE, list_callback, &cb); in zpool_do_list()
7468 if (ret == 0 && cb.cb_json) in zpool_do_list()
7469 zcmd_print_json(cb.cb_jsobj); in zpool_do_list()
7470 else if (ret != 0 && cb.cb_json) in zpool_do_list()
7471 nvlist_free(cb.cb_jsobj); in zpool_do_list()
7485 if (argc == 0 && !cb.cb_scripted && !cb.cb_json && in zpool_do_list()
7492 zprop_free_list(cb.cb_proplist); in zpool_do_list()
8402 scrub_cbdata_t *cb = data; in scrub_callback() local
8414 err = zpool_scan(zhp, cb->cb_type, cb->cb_scrub_cmd); in scrub_callback()
8417 cb->cb_type == POOL_SCAN_SCRUB) { in scrub_callback()
8446 scrub_cbdata_t cb; in zpool_do_scrub() local
8450 cb.cb_type = POOL_SCAN_SCRUB; in zpool_do_scrub()
8451 cb.cb_scrub_cmd = POOL_SCRUB_NORMAL; in zpool_do_scrub()
8501 cb.cb_type = POOL_SCAN_ERRORSCRUB; in zpool_do_scrub()
8504 cb.cb_scrub_cmd = POOL_SCRUB_PAUSE; in zpool_do_scrub()
8506 cb.cb_type = POOL_SCAN_NONE; in zpool_do_scrub()
8508 cb.cb_scrub_cmd = POOL_SCRUB_FROM_LAST_TXG; in zpool_do_scrub()
8510 cb.cb_scrub_cmd = POOL_SCRUB_NORMAL; in zpool_do_scrub()
8514 if (wait && (cb.cb_type == POOL_SCAN_NONE || in zpool_do_scrub()
8515 cb.cb_scrub_cmd == POOL_SCRUB_PAUSE)) { in zpool_do_scrub()
8530 B_FALSE, scrub_callback, &cb); in zpool_do_scrub()
8550 scrub_cbdata_t cb; in zpool_do_resilver() local
8552 cb.cb_type = POOL_SCAN_RESILVER; in zpool_do_resilver()
8553 cb.cb_scrub_cmd = POOL_SCRUB_NORMAL; in zpool_do_resilver()
8574 B_FALSE, scrub_callback, &cb)); in zpool_do_resilver()
9142 vdev_stats_nvlist(zpool_handle_t *zhp, status_cbdata_t *cb, nvlist_t *nv, in vdev_stats_nvlist() argument
9161 if (cb->cb_print_unhealthy && depth > 0 && in vdev_stats_nvlist()
9162 for_each_vdev_in_nvlist(nv, vdev_health_check_cb, cb) == 0) { in vdev_stats_nvlist()
9166 cb->cb_name_flags | VDEV_NAME_TYPE_ID); in vdev_stats_nvlist()
9168 fill_vdev_info(vds, zhp, vname, B_FALSE, cb->cb_json_as_int); in vdev_stats_nvlist()
9169 if (cb->cb_flat_vdevs && parent != NULL) { in vdev_stats_nvlist()
9182 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9187 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9192 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9197 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9202 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9207 vs->vs_self_healed, cb->cb_literal, in vdev_stats_nvlist()
9208 cb->cb_json_as_int, ZFS_NICENUM_BYTES); in vdev_stats_nvlist()
9212 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9216 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_1024); in vdev_stats_nvlist()
9218 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_1024); in vdev_stats_nvlist()
9220 vs->vs_checksum_errors, cb->cb_literal, in vdev_stats_nvlist()
9221 cb->cb_json_as_int, ZFS_NICENUM_1024); in vdev_stats_nvlist()
9224 vs->vs_scan_processed, cb->cb_literal, in vdev_stats_nvlist()
9225 cb->cb_json_as_int, ZFS_NICENUM_BYTES); in vdev_stats_nvlist()
9229 vs->vs_checkpoint_space, cb->cb_literal, in vdev_stats_nvlist()
9230 cb->cb_json_as_int, ZFS_NICENUM_BYTES); in vdev_stats_nvlist()
9235 cb->cb_json_as_int, ZFS_NICENUM_1024); in vdev_stats_nvlist()
9239 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9242 if (cb->cb_print_power) { in vdev_stats_nvlist()
9266 if (cb->cb_print_dio_verify) { in vdev_stats_nvlist()
9268 vs->vs_dio_verify_errors, cb->cb_literal, in vdev_stats_nvlist()
9269 cb->cb_json_as_int, ZFS_NICENUM_1024); in vdev_stats_nvlist()
9275 1, B_TRUE, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in vdev_stats_nvlist()
9285 vs->vs_configured_ashift, B_TRUE, cb->cb_json_as_int, in vdev_stats_nvlist()
9288 vs->vs_physical_ashift, B_TRUE, cb->cb_json_as_int, in vdev_stats_nvlist()
9293 B_TRUE, cb->cb_json_as_int, ZFS_NICENUM_1024); in vdev_stats_nvlist()
9296 B_TRUE, cb->cb_json_as_int, ZFS_NICENUM_1024); in vdev_stats_nvlist()
9299 if (cb->vcdl != NULL) { in vdev_stats_nvlist()
9301 zpool_nvlist_cmd(cb->vcdl, zpool_get_name(zhp), in vdev_stats_nvlist()
9307 if (cb->cb_print_vdev_init) { in vdev_stats_nvlist()
9314 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9318 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9322 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9326 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9333 if (cb->cb_print_vdev_trim) { in vdev_stats_nvlist()
9341 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9345 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9349 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9353 cb->cb_literal, cb->cb_json_as_int, in vdev_stats_nvlist()
9361 cb->cb_json_as_int, ZFS_NICENUM_1024); in vdev_stats_nvlist()
9367 if (cb->cb_flat_vdevs && children == 0) { in vdev_stats_nvlist()
9381 if (cb->cb_flat_vdevs) { in vdev_stats_nvlist()
9382 vdev_stats_nvlist(zhp, cb, child[c], depth + 2, isspare, in vdev_stats_nvlist()
9385 vdev_stats_nvlist(zhp, cb, child[c], depth + 2, isspare, in vdev_stats_nvlist()
9400 class_vdevs_nvlist(zpool_handle_t *zhp, status_cbdata_t *cb, nvlist_t *nv, in class_vdevs_nvlist() argument
9407 if (!cb->cb_flat_vdevs) in class_vdevs_nvlist()
9410 assert(zhp != NULL || !cb->cb_verbose); in class_vdevs_nvlist()
9421 cb->cb_name_flags | VDEV_NAME_TYPE_ID); in class_vdevs_nvlist()
9440 if (cb->cb_flat_vdevs) { in class_vdevs_nvlist()
9441 vdev_stats_nvlist(zhp, cb, child[c], 2, B_FALSE, in class_vdevs_nvlist()
9444 vdev_stats_nvlist(zhp, cb, child[c], 2, B_FALSE, in class_vdevs_nvlist()
9449 if (!cb->cb_flat_vdevs) { in class_vdevs_nvlist()
9457 l2cache_nvlist(zpool_handle_t *zhp, status_cbdata_t *cb, nvlist_t *nv, in l2cache_nvlist() argument
9466 if (!cb->cb_flat_vdevs) in l2cache_nvlist()
9469 if (cb->cb_flat_vdevs) { in l2cache_nvlist()
9470 vdev_stats_nvlist(zhp, cb, l2cache[i], 2, in l2cache_nvlist()
9473 vdev_stats_nvlist(zhp, cb, l2cache[i], 2, in l2cache_nvlist()
9478 if (!cb->cb_flat_vdevs) { in l2cache_nvlist()
9486 spares_nvlist(zpool_handle_t *zhp, status_cbdata_t *cb, nvlist_t *nv, in spares_nvlist() argument
9495 if (!cb->cb_flat_vdevs) in spares_nvlist()
9498 if (cb->cb_flat_vdevs) { in spares_nvlist()
9499 vdev_stats_nvlist(zhp, cb, spares[i], 2, B_TRUE, in spares_nvlist()
9502 vdev_stats_nvlist(zhp, cb, spares[i], 2, B_TRUE, in spares_nvlist()
9507 if (!cb->cb_flat_vdevs) { in spares_nvlist()
9515 errors_nvlist(zpool_handle_t *zhp, status_cbdata_t *cb, nvlist_t *item) in errors_nvlist() argument
9522 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_1024); in errors_nvlist()
9523 if (nerr != 0 && cb->cb_verbose) { in errors_nvlist()
9568 ddt_stats_nvlist(ddt_stat_t *dds, status_cbdata_t *cb, nvlist_t *item) in ddt_stats_nvlist() argument
9571 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_1024); in ddt_stats_nvlist()
9573 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in ddt_stats_nvlist()
9575 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in ddt_stats_nvlist()
9577 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in ddt_stats_nvlist()
9579 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_1024); in ddt_stats_nvlist()
9581 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in ddt_stats_nvlist()
9583 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in ddt_stats_nvlist()
9585 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in ddt_stats_nvlist()
9589 dedup_stats_nvlist(zpool_handle_t *zhp, status_cbdata_t *cb, nvlist_t *item) in dedup_stats_nvlist() argument
9592 if (cb->cb_dedup_stats) { in dedup_stats_nvlist()
9608 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_1024); in dedup_stats_nvlist()
9618 cb->cb_literal, cb->cb_json_as_int, in dedup_stats_nvlist()
9621 cb->cb_literal, cb->cb_json_as_int, in dedup_stats_nvlist()
9631 cb->cb_literal, cb->cb_json_as_int, in dedup_stats_nvlist()
9642 ddt_stats_nvlist(dds, cb, total); in dedup_stats_nvlist()
9654 ddt_stats_nvlist(&ddh->ddh_stat[h], cb, in dedup_stats_nvlist()
9683 raidz_expand_status_nvlist(zpool_handle_t *zhp, status_cbdata_t *cb, in raidz_expand_status_nvlist() argument
9699 fill_vdev_info(nv, zhp, name, B_FALSE, cb->cb_json_as_int); in raidz_expand_status_nvlist()
9703 pres->pres_expanding_vdev, B_TRUE, cb->cb_json_as_int, in raidz_expand_status_nvlist()
9706 cb->cb_literal, cb->cb_json_as_int, ZFS_NICE_TIMESTAMP); in raidz_expand_status_nvlist()
9708 cb->cb_literal, cb->cb_json_as_int, ZFS_NICE_TIMESTAMP); in raidz_expand_status_nvlist()
9710 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in raidz_expand_status_nvlist()
9712 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in raidz_expand_status_nvlist()
9715 cb->cb_json_as_int, ZFS_NICENUM_1024); in raidz_expand_status_nvlist()
9723 checkpoint_status_nvlist(nvlist_t *nvroot, status_cbdata_t *cb, in checkpoint_status_nvlist() argument
9734 pcs->pcs_start_time, cb->cb_literal, cb->cb_json_as_int, in checkpoint_status_nvlist()
9737 pcs->pcs_space, cb->cb_literal, cb->cb_json_as_int, in checkpoint_status_nvlist()
9745 removal_status_nvlist(zpool_handle_t *zhp, status_cbdata_t *cb, in removal_status_nvlist() argument
9762 cb->cb_json_as_int); in removal_status_nvlist()
9766 prs->prs_removing_vdev, B_TRUE, cb->cb_json_as_int, in removal_status_nvlist()
9769 prs->prs_start_time, cb->cb_literal, in removal_status_nvlist()
9770 cb->cb_json_as_int, ZFS_NICE_TIMESTAMP); in removal_status_nvlist()
9772 cb->cb_literal, cb->cb_json_as_int, in removal_status_nvlist()
9775 cb->cb_literal, cb->cb_json_as_int, in removal_status_nvlist()
9778 cb->cb_literal, cb->cb_json_as_int, in removal_status_nvlist()
9781 prs->prs_mapping_memory, cb->cb_literal, in removal_status_nvlist()
9782 cb->cb_json_as_int, ZFS_NICENUM_BYTES); in removal_status_nvlist()
9792 scan_status_nvlist(zpool_handle_t *zhp, status_cbdata_t *cb, in scan_status_nvlist() argument
9808 cb->cb_literal, cb->cb_json_as_int, ZFS_NICE_TIMESTAMP); in scan_status_nvlist()
9810 cb->cb_literal, cb->cb_json_as_int, ZFS_NICE_TIMESTAMP); in scan_status_nvlist()
9812 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in scan_status_nvlist()
9814 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in scan_status_nvlist()
9816 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in scan_status_nvlist()
9818 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in scan_status_nvlist()
9820 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_1024); in scan_status_nvlist()
9822 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in scan_status_nvlist()
9824 B_TRUE, cb->cb_json_as_int, ZFS_NICENUM_1024); in scan_status_nvlist()
9826 ps->pss_pass_scrub_pause, cb->cb_literal, in scan_status_nvlist()
9827 cb->cb_json_as_int, ZFS_NICE_TIMESTAMP); in scan_status_nvlist()
9830 B_TRUE, cb->cb_json_as_int, ZFS_NICENUM_1024); in scan_status_nvlist()
9832 ps->pss_pass_issued, cb->cb_literal, in scan_status_nvlist()
9833 cb->cb_json_as_int, ZFS_NICENUM_BYTES); in scan_status_nvlist()
9835 cb->cb_literal, cb->cb_json_as_int, ZFS_NICENUM_BYTES); in scan_status_nvlist()
9844 cb->cb_literal, cb->cb_json_as_int, in scan_status_nvlist()
9848 cb->cb_literal, cb->cb_json_as_int, in scan_status_nvlist()
9852 cb->cb_literal, cb->cb_json_as_int, in scan_status_nvlist()
9856 cb->cb_literal, cb->cb_json_as_int, in scan_status_nvlist()
9860 B_TRUE, cb->cb_json_as_int, ZFS_NICENUM_1024); in scan_status_nvlist()
9881 cb->cb_json_as_int); in scan_status_nvlist()
9886 vrs->vrs_start_time, cb->cb_literal, in scan_status_nvlist()
9887 cb->cb_json_as_int, in scan_status_nvlist()
9890 vrs->vrs_end_time, cb->cb_literal, in scan_status_nvlist()
9891 cb->cb_json_as_int, in scan_status_nvlist()
9895 cb->cb_literal, cb->cb_json_as_int, in scan_status_nvlist()
9899 cb->cb_literal, cb->cb_json_as_int, in scan_status_nvlist()
9903 cb->cb_literal, cb->cb_json_as_int, in scan_status_nvlist()
9907 cb->cb_literal, cb->cb_json_as_int, in scan_status_nvlist()
9910 vrs->vrs_bytes_est, cb->cb_literal, in scan_status_nvlist()
9911 cb->cb_json_as_int, in scan_status_nvlist()
9914 vrs->vrs_errors, cb->cb_literal, in scan_status_nvlist()
9915 cb->cb_json_as_int, in scan_status_nvlist()
9919 cb->cb_literal, cb->cb_json_as_int, in scan_status_nvlist()
9923 cb->cb_literal, cb->cb_json_as_int, in scan_status_nvlist()
9927 cb->cb_literal, cb->cb_json_as_int, in scan_status_nvlist()
9931 cb->cb_literal, cb->cb_json_as_int, in scan_status_nvlist()
10268 print_spares(zpool_handle_t *zhp, status_cbdata_t *cb, nvlist_t **spares, in print_spares() argument
10281 cb->cb_name_flags); in print_spares()
10282 print_status_config(zhp, cb, name, spares[i], 2, B_TRUE, NULL); in print_spares()
10288 print_l2cache(zpool_handle_t *zhp, status_cbdata_t *cb, nvlist_t **l2cache, in print_l2cache() argument
10301 cb->cb_name_flags); in print_l2cache()
10302 print_status_config(zhp, cb, name, l2cache[i], 2, in print_l2cache()
11016 status_cbdata_t cb = { 0 }; in zpool_do_status() local
11060 cb.cb_print_dio_verify = B_TRUE; in zpool_do_status()
11063 if (++cb.cb_dedup_stats > 2) in zpool_do_status()
11064 cb.cb_dedup_stats = 2; in zpool_do_status()
11067 cb.cb_print_unhealthy = B_TRUE; in zpool_do_status()
11070 cb.cb_name_flags |= VDEV_NAME_GUID; in zpool_do_status()
11073 cb.cb_print_vdev_init = B_TRUE; in zpool_do_status()
11076 cb.cb_name_flags |= VDEV_NAME_FOLLOW_LINKS; in zpool_do_status()
11079 cb.cb_literal = B_TRUE; in zpool_do_status()
11082 cb.cb_name_flags |= VDEV_NAME_PATH; in zpool_do_status()
11085 cb.cb_print_slow_ios = B_TRUE; in zpool_do_status()
11088 cb.cb_print_vdev_trim = B_TRUE; in zpool_do_status()
11094 cb.cb_verbose = B_TRUE; in zpool_do_status()
11097 cb.cb_json = B_TRUE; in zpool_do_status()
11100 cb.cb_explain = B_TRUE; in zpool_do_status()
11103 cb.cb_print_power = B_TRUE; in zpool_do_status()
11106 cb.cb_flat_vdevs = B_TRUE; in zpool_do_status()
11109 cb.cb_json_as_int = B_TRUE; in zpool_do_status()
11110 cb.cb_literal = B_TRUE; in zpool_do_status()
11113 cb.cb_json_pool_key_guid = B_TRUE; in zpool_do_status()
11133 cb.cb_allpools = B_TRUE; in zpool_do_status()
11135 cb.cb_first = B_TRUE; in zpool_do_status()
11136 cb.cb_print_status = B_TRUE; in zpool_do_status()
11138 if (cb.cb_flat_vdevs && !cb.cb_json) { in zpool_do_status()
11144 if (cb.cb_json_as_int && !cb.cb_json) { in zpool_do_status()
11150 if (!cb.cb_json && cb.cb_json_pool_key_guid) { in zpool_do_status()
11157 if (cb.cb_json) { in zpool_do_status()
11158 cb.cb_jsobj = zpool_json_schema(0, 1); in zpool_do_status()
11160 fnvlist_add_nvlist(cb.cb_jsobj, "pools", data); in zpool_do_status()
11165 if (cb.cb_json) { in zpool_do_status()
11166 if (cb.cb_json_as_int) { in zpool_do_status()
11167 fnvlist_add_uint64(cb.cb_jsobj, "time", in zpool_do_status()
11172 fnvlist_add_string(cb.cb_jsobj, "time", in zpool_do_status()
11180 cb.vcdl = all_pools_for_each_vdev_run(argc, argv, cmd, in zpool_do_status()
11183 if (cb.cb_json) { in zpool_do_status()
11185 ZFS_TYPE_POOL, cb.cb_literal, in zpool_do_status()
11186 status_callback_json, &cb); in zpool_do_status()
11189 ZFS_TYPE_POOL, cb.cb_literal, in zpool_do_status()
11190 status_callback, &cb); in zpool_do_status()
11193 if (cb.vcdl != NULL) in zpool_do_status()
11194 free_vdev_cmd_data_list(cb.vcdl); in zpool_do_status()
11196 if (cb.cb_json) { in zpool_do_status()
11198 zcmd_print_json(cb.cb_jsobj); in zpool_do_status()
11200 nvlist_free(cb.cb_jsobj); in zpool_do_status()
11202 if (argc == 0 && cb.cb_count == 0) { in zpool_do_status()
11205 } else if (cb.cb_explain && cb.cb_first && in zpool_do_status()
11206 cb.cb_allpools) { in zpool_do_status()
11591 upgrade_cbdata_t cb = { 0 }; in zpool_do_upgrade() local
11608 cb.cb_version = strtoll(optarg, &end, 10); in zpool_do_upgrade()
11610 !SPA_VERSION_IS_SUPPORTED(cb.cb_version)) { in zpool_do_upgrade()
11628 cb.cb_argc = argc; in zpool_do_upgrade()
11629 cb.cb_argv = argv; in zpool_do_upgrade()
11633 if (cb.cb_version == 0) { in zpool_do_upgrade()
11634 cb.cb_version = SPA_VERSION; in zpool_do_upgrade()
11722 cb.cb_first = B_TRUE; in zpool_do_upgrade()
11723 ret = zpool_iter(g_zfs, upgrade_cb, &cb); in zpool_do_upgrade()
11724 if (ret == 0 && cb.cb_first) { in zpool_do_upgrade()
11725 if (cb.cb_version == SPA_VERSION) { in zpool_do_upgrade()
11734 (u_longlong_t)cb.cb_version); in zpool_do_upgrade()
11738 cb.cb_first = B_TRUE; in zpool_do_upgrade()
11739 ret = zpool_iter(g_zfs, upgrade_list_older_cb, &cb); in zpool_do_upgrade()
11742 if (cb.cb_first) { in zpool_do_upgrade()
11750 cb.cb_first = B_TRUE; in zpool_do_upgrade()
11751 ret = zpool_iter(g_zfs, upgrade_list_disabled_cb, &cb); in zpool_do_upgrade()
11754 if (cb.cb_first) { in zpool_do_upgrade()
11762 B_FALSE, upgrade_one, &cb); in zpool_do_upgrade()
11775 print_history_records(nvlist_t *nvhis, hist_cbdata_t *cb) in print_history_records() argument
11811 if (!cb->internal) in print_history_records()
11825 if (!cb->internal) in print_history_records()
11841 if (!cb->internal) in print_history_records()
11867 if (!cb->internal) in print_history_records()
11873 if (!cb->longfmt) { in print_history_records()
11907 hist_cbdata_t *cb = (hist_cbdata_t *)data; in get_history_one() local
11911 cb->first = B_FALSE; in get_history_one()
11919 print_history_records(nvhis, cb); in get_history_one()
12613 zprop_get_cbdata_t cb = { 0 }; in zpool_do_get() local
12621 cb.cb_first = B_TRUE; in zpool_do_get()
12626 cb.cb_sources = ZPROP_SRC_ALL; in zpool_do_get()
12627 cb.cb_columns[0] = GET_COL_NAME; in zpool_do_get()
12628 cb.cb_columns[1] = GET_COL_PROPERTY; in zpool_do_get()
12629 cb.cb_columns[2] = GET_COL_VALUE; in zpool_do_get()
12630 cb.cb_columns[3] = GET_COL_SOURCE; in zpool_do_get()
12631 cb.cb_type = ZFS_TYPE_POOL; in zpool_do_get()
12632 cb.cb_vdevs.cb_name_flags |= VDEV_NAME_TYPE_ID; in zpool_do_get()
12633 current_prop_type = cb.cb_type; in zpool_do_get()
12648 cb.cb_literal = B_TRUE; in zpool_do_get()
12651 cb.cb_scripted = B_TRUE; in zpool_do_get()
12654 cb.cb_json = B_TRUE; in zpool_do_get()
12655 cb.cb_jsobj = zpool_json_schema(0, 1); in zpool_do_get()
12659 cb.cb_json_pool_key_guid = B_TRUE; in zpool_do_get()
12662 cb.cb_json_as_int = B_TRUE; in zpool_do_get()
12663 cb.cb_literal = B_TRUE; in zpool_do_get()
12666 memset(&cb.cb_columns, 0, sizeof (cb.cb_columns)); in zpool_do_get()
12702 memcpy(cb.cb_columns, col_cols, in zpool_do_get()
12706 cb.cb_columns[i++] = col_cols[c]; in zpool_do_get()
12719 if (!cb.cb_json && cb.cb_json_as_int) { in zpool_do_get()
12725 if (!cb.cb_json && cb.cb_json_pool_key_guid) { in zpool_do_get()
12752 &cb.cb_vdevs)) { in zpool_do_get()
12759 cb.cb_vdevs.cb_names = argv + 1; in zpool_do_get()
12761 cb.cb_vdevs.cb_names = &vdev; in zpool_do_get()
12763 cb.cb_vdevs.cb_names_count = argc - 1; in zpool_do_get()
12764 cb.cb_type = ZFS_TYPE_VDEV; in zpool_do_get()
12767 if (cb.cb_json) { in zpool_do_get()
12768 nvlist_free(cb.cb_jsobj); in zpool_do_get()
12774 argv[0], &cb.cb_vdevs); in zpool_do_get()
12780 if (cb.cb_json) { in zpool_do_get()
12781 nvlist_free(cb.cb_jsobj); in zpool_do_get()
12792 if (zprop_get_list(g_zfs, propstr, &cb.cb_proplist, in zpool_do_get()
12793 cb.cb_type) != 0) { in zpool_do_get()
12795 current_prop_type = cb.cb_type; in zpool_do_get()
12799 if (cb.cb_proplist != NULL) { in zpool_do_get()
12802 fake_name.pl_next = cb.cb_proplist; in zpool_do_get()
12803 cb.cb_proplist = &fake_name; in zpool_do_get()
12806 if (cb.cb_json) { in zpool_do_get()
12807 if (cb.cb_type == ZFS_TYPE_VDEV) in zpool_do_get()
12808 fnvlist_add_nvlist(cb.cb_jsobj, "vdevs", data); in zpool_do_get()
12810 fnvlist_add_nvlist(cb.cb_jsobj, "pools", data); in zpool_do_get()
12814 ret = for_each_pool(argc, argv, B_TRUE, &cb.cb_proplist, cb.cb_type, in zpool_do_get()
12815 cb.cb_literal, get_callback, &cb); in zpool_do_get()
12817 if (ret == 0 && cb.cb_json) in zpool_do_get()
12818 zcmd_print_json(cb.cb_jsobj); in zpool_do_get()
12819 else if (ret != 0 && cb.cb_json) in zpool_do_get()
12820 nvlist_free(cb.cb_jsobj); in zpool_do_get()
12822 if (cb.cb_proplist == &fake_name) in zpool_do_get()
12825 zprop_free_list(cb.cb_proplist); in zpool_do_get()
12842 set_pool_callback(zpool_handle_t *zhp, set_cbdata_t *cb) in set_pool_callback() argument
12847 if (strcmp(cb->cb_propname, ZPOOL_CONFIG_COMPATIBILITY) == 0) { in set_pool_callback()
12849 if (zpool_do_load_compat(cb->cb_value, features) != in set_pool_callback()
12868 if (zpool_prop_feature(cb->cb_propname) && in set_pool_callback()
12869 strcmp(cb->cb_value, ZFS_FEATURE_ENABLED) == 0) { in set_pool_callback()
12870 char *fname = strchr(cb->cb_propname, '@') + 1; in set_pool_callback()
12903 error = zpool_set_prop(zhp, cb->cb_propname, cb->cb_value); in set_pool_callback()
12912 set_cbdata_t *cb = (set_cbdata_t *)data; in set_callback() local
12914 if (cb->cb_type == ZFS_TYPE_VDEV) { in set_callback()
12915 error = zpool_set_vdev_prop(zhp, *cb->cb_vdevs.cb_names, in set_callback()
12916 cb->cb_propname, cb->cb_value); in set_callback()
12918 assert(cb->cb_type == ZFS_TYPE_POOL); in set_callback()
12919 error = set_pool_callback(zhp, cb); in set_callback()
12922 cb->cb_any_successful = !error; in set_callback()
12929 set_cbdata_t cb = { 0 }; in zpool_do_set() local
12956 cb.cb_propname = argv[1]; in zpool_do_set()
12957 cb.cb_type = ZFS_TYPE_POOL; in zpool_do_set()
12958 cb.cb_vdevs.cb_name_flags |= VDEV_NAME_TYPE_ID; in zpool_do_set()
12959 cb.cb_value = strchr(cb.cb_propname, '='); in zpool_do_set()
12960 if (cb.cb_value == NULL) { in zpool_do_set()
12966 *(cb.cb_value) = '\0'; in zpool_do_set()
12967 cb.cb_value++; in zpool_do_set()
12986 if (!are_vdevs_in_pool(1, &vdev, argv[0], &cb.cb_vdevs)) { in zpool_do_set()
12993 cb.cb_vdevs.cb_names = &vdev; in zpool_do_set()
12994 cb.cb_vdevs.cb_names_count = 1; in zpool_do_set()
12995 cb.cb_type = ZFS_TYPE_VDEV; in zpool_do_set()
12999 B_FALSE, set_callback, &cb); in zpool_do_set()