Lines Matching defs:bt

113 	be_transaction_data_t	bt = { 0 };
146 if (nvlist_lookup_string(be_attrs, BE_ATTR_NEW_BE_NAME, &bt.nbe_name)
154 if (!be_valid_be_name(bt.nbe_name)) {
156 bt.nbe_name);
161 if (nvlist_lookup_string(be_attrs, BE_ATTR_NEW_BE_POOL, &bt.nbe_zpool)
234 be_make_root_ds(bt.nbe_zpool, bt.nbe_name, nbe_root_ds,
239 if ((zlp = zpool_open(g_zfs, bt.nbe_zpool)) == NULL) {
241 "find existing zpool (%s): %s\n"), bt.nbe_zpool,
251 if (!be_create_container_ds(bt.nbe_zpool))
257 if ((zret = zpool_iter(g_zfs, be_exists_callback, bt.nbe_name))
265 if ((bt.nbe_name = be_auto_be_name(bt.nbe_name))
276 be_make_root_ds(bt.nbe_zpool, bt.nbe_name,
284 BE_ATTR_NEW_BE_NAME, strdup(bt.nbe_name))
293 "exists\n"), bt.nbe_name);
306 if (!zfs_dataset_exists(g_zfs, bt.nbe_zpool,
309 "find existing dataset (%s)\n"), bt.nbe_zpool);
317 if (!be_create_container_ds(bt.nbe_zpool))
335 be_make_container_ds(bt.nbe_zpool,
338 if ((bt.nbe_name = be_auto_zone_be_name(
339 be_container_ds, bt.nbe_name)) == NULL) {
349 be_make_root_ds(bt.nbe_zpool, bt.nbe_name,
357 BE_ATTR_NEW_BE_NAME, strdup(bt.nbe_name))
394 if (nvlist_dup(zfs_props, &bt.nbe_zfs_props, 0) != 0) {
401 if (nvlist_alloc(&bt.nbe_zfs_props, NV_UNIQUE_NAME, 0) != 0) {
409 if (nvlist_add_string(bt.nbe_zfs_props,
418 if (nvlist_add_string(bt.nbe_zfs_props,
466 if (nvlist_add_string(bt.nbe_zfs_props,
474 if (nvlist_add_string(bt.nbe_zfs_props,
485 bt.nbe_zfs_props) != 0) {
505 if ((zhp = zfs_open(g_zfs, bt.nbe_zpool, ZFS_TYPE_FILESYSTEM))
509 bt.nbe_zpool, libzfs_error_description(g_zfs));
613 bt.nbe_zpool, shared_fs_names[i]);
616 bt.nbe_zpool, shared_fs_names[i]);
719 if (bt.nbe_zfs_props != NULL)
720 nvlist_free(bt.nbe_zfs_props);
748 be_transaction_data_t bt = { 0 };
779 if (nvlist_lookup_string(be_attrs, BE_ATTR_ORIG_BE_NAME, &bt.obe_name)
791 if (!be_valid_be_name(bt.obe_name)) {
793 bt.obe_name);
795 } else if (bt.obe_name != NULL) {
799 if (strcmp(cur_bt.obe_name, bt.obe_name) == 0) {
817 if ((zret = zpool_iter(g_zfs, be_find_zpool_callback, &bt)) == 0) {
819 "for BE (%s)\n"), bt.obe_name);
828 be_make_root_ds(bt.obe_zpool, bt.obe_name, obe_root_ds,
830 bt.obe_root_ds = obe_root_ds;
833 if ((zhp = zfs_open(g_zfs, bt.obe_root_ds, ZFS_TYPE_FILESYSTEM)) ==
836 "open BE root dataset (%s): %s\n"), bt.obe_root_ds,
858 bt.obe_name, mp != NULL ? mp : "<unknown>");
872 if ((!be_zone_is_bootable(bt.obe_root_ds)) &&
873 (be_is_active_on_boot(bt.obe_name))) {
885 if (be_is_active_on_boot(bt.obe_name)) {
898 if ((ret = be_destroy_zones(bt.obe_name, bt.obe_root_ds, &dd))
902 bt.obe_name);
909 if ((ret = _be_unmount(bt.obe_name, NULL,
912 "failed to unmount %s\n"), bt.obe_name);
920 if ((ret = _be_destroy((const char *)bt.obe_root_ds, &dd, B_TRUE))
967 be_transaction_data_t bt = { 0 };
1008 BE_ATTR_ORIG_BE_NAME, DATA_TYPE_STRING, &bt.obe_name, NULL) != 0) {
1015 if (bt.obe_name == NULL) {
1016 if ((ret = be_find_current_be(&bt)) != BE_SUCCESS) {
1021 if (!be_valid_be_name(bt.obe_name)) {
1023 "invalid BE name %s\n"), bt.obe_name);
1029 if ((zret = zpool_iter(g_zfs, be_find_zpool_callback, &bt)) == 0) {
1031 "find zpool for BE (%s)\n"), bt.obe_name);
1046 be_make_root_ds(bt.obe_zpool, bt.obe_name, be_root_ds,
1057 BE_ATTR_SNAP_NAME, DATA_TYPE_STRING, &bt.obe_snap_name, NULL)
1066 BE_ATTR_NEW_BE_NAME, DATA_TYPE_STRING, &bt.nbe_name, NULL)
1075 BE_ATTR_NEW_BE_POOL, DATA_TYPE_STRING, &bt.nbe_zpool, NULL) != 0) {
1080 if (in_ngz && (bt.nbe_zpool != NULL)) {
1089 BE_ATTR_NEW_BE_DESC, DATA_TYPE_STRING, &bt.nbe_desc, NULL) != 0) {
1097 BE_ATTR_POLICY, DATA_TYPE_STRING, &bt.policy, NULL) != 0) {
1125 if (nvlist_dup(zfs_props, &bt.nbe_zfs_props, 0) != 0) {
1132 if (nvlist_alloc(&bt.nbe_zfs_props, NV_UNIQUE_NAME, 0) != 0) {
1143 if (bt.nbe_name) {
1145 if (!be_valid_be_name(bt.nbe_name)) {
1147 "invalid BE name %s\n"), bt.nbe_name);
1155 bt.nbe_name)) > 0) {
1157 "exists\n"), bt.nbe_name);
1173 be_make_root_ds(bt.obe_zpool, bt.nbe_name, be_root_ds,
1179 "exists\n"), bt.nbe_name);
1189 if (bt.nbe_zpool != NULL) {
1199 if ((bt.nbe_name = be_auto_be_name(bt.obe_name))
1214 if (bt.nbe_zpool == NULL) {
1215 bt.nbe_zpool = bt.obe_zpool;
1219 be_make_root_ds(bt.obe_zpool, bt.obe_name, obe_root_ds,
1221 be_make_root_ds(bt.nbe_zpool, bt.nbe_name, nbe_root_ds,
1224 bt.obe_root_ds = obe_root_ds;
1225 bt.nbe_root_ds = nbe_root_ds;
1231 if (bt.obe_snap_name != NULL) {
1233 (void) snprintf(ss, sizeof (ss), "%s@%s", bt.obe_root_ds,
1234 bt.obe_snap_name);
1249 if ((ret = _be_create_snapshot(bt.obe_name, NULL,
1250 &bt.obe_snap_name, bt.policy)) != BE_SUCCESS) {
1257 bt.obe_snap_name) != 0) {
1266 if ((zhp = zfs_open(g_zfs, bt.obe_root_ds, ZFS_TYPE_FILESYSTEM))
1269 "open BE root dataset (%s): %s\n"), bt.obe_root_ds,
1276 if (zfs_is_mounted(zhp, &bt.obe_altroot) && bt.obe_altroot == NULL) {
1279 bt.obe_name, libzfs_error_description(g_zfs));
1284 if (strcmp(bt.obe_zpool, bt.nbe_zpool) == 0) {
1293 if ((ret = be_clone_fs_callback(zhp, &bt)) != 0) {
1300 bt.nbe_name, bt.obe_name);
1317 free(bt.nbe_name);
1318 if ((bt.nbe_name = be_auto_be_name(bt.obe_name))
1331 be_make_root_ds(bt.nbe_zpool, bt.nbe_name,
1333 bt.nbe_root_ds = nbe_root_ds;
1338 if ((zhp = zfs_open(g_zfs, bt.obe_root_ds,
1342 "(%s): %s\n"), bt.obe_root_ds,
1354 ret = be_clone_fs_callback(zhp, &bt);
1362 bt.nbe_name, bt.obe_name);
1376 free(bt.nbe_name);
1377 bt.nbe_name = NULL;
1399 if (!be_create_container_ds(bt.nbe_zpool)) {
1409 if ((ret = be_send_fs_callback(zhp, &bt)) != 0) {
1411 "send BE (%s) to pool (%s)\n"), bt.obe_name,
1412 bt.nbe_zpool);
1432 if ((ret = _be_mount(bt.nbe_name, NULL, &new_mp,
1436 (void) _be_unmount(bt.nbe_name, NULL, BE_UNMOUNT_FLAG_NO_ZONES);
1443 if (be_set_uuid(bt.nbe_root_ds) != BE_SUCCESS) {
1448 if ((ret = be_zone_get_parent_id(bt.obe_root_ds,
1455 if ((ret = be_zone_set_parent_id(bt.nbe_root_ds,
1470 if (!in_ngz && be_get_uuid(bt.obe_root_ds, &uu) == BE_SUCCESS) {
1471 if ((ret = be_copy_zones(bt.obe_name, bt.obe_root_ds,
1472 bt.nbe_root_ds)) != BE_SUCCESS) {
1484 if ((ret = be_get_legacy_fs(bt.obe_name, bt.obe_root_ds, NULL, NULL,
1488 bt.obe_name);
1495 if ((ret = be_update_vfstab(bt.nbe_name, bt.obe_zpool, bt.nbe_zpool,
1498 "update new BE's vfstab (%s)\n"), bt.nbe_name);
1503 if ((ret = _be_unmount(bt.nbe_name, NULL, umnt_flags)) != BE_SUCCESS) {
1516 if ((zhp = zfs_open(g_zfs, bt.nbe_root_ds,
1519 "open BE root dataset (%s): %s\n"), bt.nbe_root_ds,
1528 if (bt.policy == NULL) {
1530 bt.policy = be_default_policy();
1533 if (zfs_prop_set(zhp, BE_POLICY_PROPERTY, bt.policy) != 0) {
1535 "set BE policy for %s: %s\n"), bt.nbe_name,
1544 if (bt.nbe_name) {
1546 bt.nbe_name) != 0) {
1557 if (bt.nbe_zfs_props != NULL)
1558 nvlist_free(bt.nbe_zfs_props);
1560 free(bt.obe_altroot);
1577 if (bt.obe_snap_name != NULL)
1583 if (!in_ngz && be_get_uuid(bt.nbe_root_ds,
1585 (void) be_destroy_zones(bt.nbe_name, bt.nbe_root_ds,
1588 (void) _be_destroy(bt.nbe_root_ds, &cdd, d_snap);
1620 be_transaction_data_t bt = { 0 };
1629 bt.obe_name = bename;
1630 zret = zpool_iter(g_zfs, be_find_zpool_callback, &bt);
1643 *pool = bt.obe_zpool;
1668 be_transaction_data_t *bt = data;
1701 be_make_root_ds(zpool, bt->obe_name, be_root_ds, sizeof (be_root_ds));
1708 bt->obe_zpool = strdup(zpool);
2381 be_transaction_data_t bt = { 0 };
2545 bt.obe_name = zone_be_name;
2546 bt.obe_root_ds = zoneroot_ds;
2547 bt.obe_snap_name = snap_name;
2548 bt.obe_altroot = temp_mntpt;
2549 bt.nbe_name = new_zone_be_name;
2550 bt.nbe_root_ds = new_zoneroot_ds;
2551 bt.zoneroot = zoneroot;
2553 if (nvlist_alloc(&bt.nbe_zfs_props, NV_UNIQUE_NAME, 0) != 0) {
2564 if ((iret = be_clone_fs_callback(z_zhp, &bt)) != 0) {
2571 if (bt.nbe_zfs_props != NULL)
2572 nvlist_free(bt.nbe_zfs_props);
2597 if (bt.nbe_zfs_props != NULL)
2598 nvlist_free(bt.nbe_zfs_props);
2606 bt.nbe_name = new_zone_be_name;
2607 bt.nbe_root_ds = new_zoneroot_ds;
2621 if (bt.nbe_zfs_props != NULL)
2622 nvlist_free(bt.nbe_zfs_props);
2632 iret = be_clone_fs_callback(z_zhp, &bt);
2642 if (bt.nbe_zfs_props != NULL)
2643 nvlist_free(bt.nbe_zfs_props);
2655 free(bt.nbe_name);
2656 bt.nbe_name = NULL;
2658 if (bt.nbe_zfs_props != NULL)
2659 nvlist_free(bt.nbe_zfs_props);
2664 if (bt.nbe_zfs_props != NULL)
2665 nvlist_free(bt.nbe_zfs_props);
2730 be_transaction_data_t *bt = data;
2745 if ((ret = be_prep_clone_send_fs(zhp, bt, clone_ds,
2755 bt->obe_snap_name);
2772 if (zfs_clone(zhp_ss, clone_ds, bt->nbe_zfs_props) != 0) {
2789 if ((ret = zfs_iter_filesystems(zhp, be_clone_fs_callback, bt)) != 0) {
2829 be_transaction_data_t *bt = data;
2846 if ((ret = be_prep_clone_send_fs(zhp, bt, clone_ds,
2855 if (zfs_create(g_zfs, clone_ds, ZFS_TYPE_FILESYSTEM, bt->nbe_zfs_props)
2896 if (zfs_send(zhp, NULL, bt->obe_snap_name, send_flags,
2935 if ((ret = zfs_iter_filesystems(zhp, be_send_fs_callback, bt)) != 0) {
3359 * bt - be_transaction_data pointer providing information
3371 be_prep_clone_send_fs(zfs_handle_t *zhp, be_transaction_data_t *bt,
3389 if (strncmp(zhp_name, bt->obe_root_ds, strlen(bt->obe_root_ds)) == 0) {
3390 child_fs = zhp_name + strlen(bt->obe_root_ds);
3405 (void) snprintf(clone_ds, clone_ds_len, "%s%s", bt->nbe_root_ds,
3444 if (nvlist_add_string(bt->nbe_zfs_props,
3452 err = nvlist_remove_all(bt->nbe_zfs_props,
3465 if (nvlist_add_string(bt->nbe_zfs_props,