Lines Matching refs:bt

101 	be_transaction_data_t	bt = { 0 };
119 if (nvlist_lookup_string(be_attrs, BE_ATTR_NEW_BE_NAME, &bt.nbe_name)
127 if (!be_valid_be_name(bt.nbe_name)) {
129 bt.nbe_name);
134 if (nvlist_lookup_string(be_attrs, BE_ATTR_NEW_BE_POOL, &bt.nbe_zpool)
174 if ((zlp = zpool_open(g_zfs, bt.nbe_zpool)) == NULL) {
176 "find existing zpool (%s): %s\n"), bt.nbe_zpool,
186 if (!be_create_container_ds(bt.nbe_zpool))
192 if ((zret = zpool_iter(g_zfs, be_exists_callback, bt.nbe_name)) > 0) {
194 bt.nbe_name);
203 be_make_root_ds(bt.nbe_zpool, bt.nbe_name, nbe_root_ds,
228 if (nvlist_dup(zfs_props, &bt.nbe_zfs_props, 0) != 0) {
235 if (nvlist_alloc(&bt.nbe_zfs_props, NV_UNIQUE_NAME, 0) != 0) {
243 if (nvlist_add_string(bt.nbe_zfs_props,
252 if (nvlist_add_string(bt.nbe_zfs_props,
262 bt.nbe_zfs_props) != 0) {
280 (void) nvlist_remove(bt.nbe_zfs_props,
298 bt.nbe_zfs_props) != 0) {
320 bt.nbe_zpool, shared_fs_names[i]);
352 if (bt.nbe_zfs_props != NULL)
353 nvlist_free(bt.nbe_zfs_props);
380 be_transaction_data_t bt = { 0 };
394 if (nvlist_lookup_string(be_attrs, BE_ATTR_ORIG_BE_NAME, &bt.obe_name)
406 if (!be_valid_be_name(bt.obe_name)) {
408 bt.obe_name);
410 } else if (bt.obe_name != NULL) {
414 if (strcmp(cur_bt.obe_name, bt.obe_name) == 0) {
432 if ((zret = zpool_iter(g_zfs, be_find_zpool_callback, &bt)) == 0) {
434 "for BE (%s)\n"), bt.obe_name);
443 be_make_root_ds(bt.obe_zpool, bt.obe_name, obe_root_ds,
445 bt.obe_root_ds = obe_root_ds;
451 if (be_is_active_on_boot(bt.obe_name)) {
460 if ((zhp = zfs_open(g_zfs, bt.obe_root_ds, ZFS_TYPE_FILESYSTEM)) ==
463 "open BE root dataset (%s): %s\n"), bt.obe_root_ds,
482 bt.obe_name, mp != NULL ? mp : "<unknown>");
496 if ((ret = be_destroy_zones(bt.obe_name, bt.obe_root_ds, &dd))
500 bt.obe_name);
507 if ((ret = _be_unmount(bt.obe_name, BE_UNMOUNT_FLAG_FORCE))
510 "failed to unmount %s\n"), bt.obe_name);
518 if ((ret = _be_destroy((const char *)bt.obe_root_ds, &dd))
525 if ((ret = be_remove_menu(bt.obe_name, bt.obe_zpool, NULL))
529 bt.obe_root_ds);
576 be_transaction_data_t bt = { 0 };
597 BE_ATTR_ORIG_BE_NAME, DATA_TYPE_STRING, &bt.obe_name, NULL) != 0) {
604 if (bt.obe_name == NULL) {
605 if ((ret = be_find_current_be(&bt)) != BE_SUCCESS) {
610 if (!be_valid_be_name(bt.obe_name)) {
612 "invalid BE name %s\n"), bt.obe_name);
618 if ((zret = zpool_iter(g_zfs, be_find_zpool_callback, &bt)) == 0) {
620 "find zpool for BE (%s)\n"), bt.obe_name);
631 BE_ATTR_SNAP_NAME, DATA_TYPE_STRING, &bt.obe_snap_name, NULL)
640 BE_ATTR_NEW_BE_NAME, DATA_TYPE_STRING, &bt.nbe_name, NULL)
649 BE_ATTR_NEW_BE_POOL, DATA_TYPE_STRING, &bt.nbe_zpool, NULL) != 0) {
657 BE_ATTR_NEW_BE_DESC, DATA_TYPE_STRING, &bt.nbe_desc, NULL) != 0) {
665 BE_ATTR_POLICY, DATA_TYPE_STRING, &bt.policy, NULL) != 0) {
693 if (nvlist_dup(zfs_props, &bt.nbe_zfs_props, 0) != 0) {
700 if (nvlist_alloc(&bt.nbe_zfs_props, NV_UNIQUE_NAME, 0) != 0) {
711 if (bt.nbe_name) {
713 if (!be_valid_be_name(bt.nbe_name)) {
715 "invalid BE name %s\n"), bt.nbe_name);
721 if ((zret = zpool_iter(g_zfs, be_exists_callback, bt.nbe_name))
724 "exists\n"), bt.nbe_name);
738 if (bt.nbe_zpool != NULL) {
748 if ((bt.nbe_name = be_auto_be_name(bt.obe_name))
763 if (bt.nbe_zpool == NULL) {
764 bt.nbe_zpool = bt.obe_zpool;
768 be_make_root_ds(bt.obe_zpool, bt.obe_name, obe_root_ds,
770 be_make_root_ds(bt.nbe_zpool, bt.nbe_name, nbe_root_ds,
773 bt.obe_root_ds = obe_root_ds;
774 bt.nbe_root_ds = nbe_root_ds;
780 if (bt.obe_snap_name != NULL) {
783 (void) snprintf(ss, sizeof (ss), "%s@%s", bt.obe_root_ds,
784 bt.obe_snap_name);
799 if ((ret = _be_create_snapshot(bt.obe_name,
800 &bt.obe_snap_name, bt.policy)) != BE_SUCCESS) {
807 bt.obe_snap_name) != 0) {
816 if ((zhp = zfs_open(g_zfs, bt.obe_root_ds, ZFS_TYPE_FILESYSTEM))
819 "open BE root dataset (%s): %s\n"), bt.obe_root_ds,
826 if (zfs_is_mounted(zhp, &bt.obe_altroot) && bt.obe_altroot == NULL) {
829 bt.obe_name, libzfs_error_description(g_zfs));
834 if (strcmp(bt.obe_zpool, bt.nbe_zpool) == 0) {
843 if ((ret = be_clone_fs_callback(zhp, &bt)) != 0) {
850 bt.nbe_name, bt.obe_name);
867 free(bt.nbe_name);
868 if ((bt.nbe_name = be_auto_be_name(bt.obe_name))
881 be_make_root_ds(bt.nbe_zpool, bt.nbe_name,
883 bt.nbe_root_ds = nbe_root_ds;
888 if ((zhp = zfs_open(g_zfs, bt.obe_root_ds,
892 "(%s): %s\n"), bt.obe_root_ds,
904 ret = be_clone_fs_callback(zhp, &bt);
912 bt.nbe_name, bt.obe_name);
926 free(bt.nbe_name);
927 bt.nbe_name = NULL;
942 if (!be_create_container_ds(bt.nbe_zpool)) {
952 if ((ret = be_send_fs_callback(zhp, &bt)) != 0) {
954 "send BE (%s) to pool (%s)\n"), bt.obe_name,
955 bt.nbe_zpool);
975 if ((ret = _be_mount(bt.nbe_name, &new_mp, BE_MOUNT_FLAG_NO_ZONES))
979 (void) _be_unmount(bt.nbe_name, 0);
984 if (be_set_uuid(bt.nbe_root_ds) != BE_SUCCESS) {
996 be_get_uuid(bt.obe_root_ds, &uu) == BE_SUCCESS) {
997 if ((ret = be_copy_zones(bt.obe_name, bt.obe_root_ds,
998 bt.nbe_root_ds)) != BE_SUCCESS) {
1010 if ((ret = be_get_legacy_fs(bt.obe_name, bt.obe_root_ds, NULL, NULL,
1014 bt.obe_name);
1021 if ((ret = be_update_vfstab(bt.nbe_name, bt.obe_zpool, bt.nbe_zpool,
1024 "update new BE's vfstab (%s)\n"), bt.nbe_name);
1029 if ((ret = _be_unmount(bt.nbe_name, 0)) != BE_SUCCESS) {
1039 (ret = be_append_menu(bt.nbe_name, bt.nbe_zpool,
1040 NULL, bt.obe_root_ds, bt.nbe_desc)) != BE_SUCCESS) {
1042 "add BE (%s) to boot menu\n"), bt.nbe_name);
1053 if ((zhp = zfs_open(g_zfs, bt.nbe_root_ds,
1056 "open BE root dataset (%s): %s\n"), bt.nbe_root_ds,
1065 if (bt.policy == NULL) {
1067 bt.policy = be_default_policy();
1070 if (zfs_prop_set(zhp, BE_POLICY_PROPERTY, bt.policy) != 0) {
1072 "set BE policy for %s: %s\n"), bt.nbe_name,
1081 if (bt.nbe_name) {
1083 bt.nbe_name) != 0) {
1094 if (bt.nbe_zfs_props != NULL)
1095 nvlist_free(bt.nbe_zfs_props);
1097 free(bt.obe_altroot);
1112 if (getzoneid() == GLOBAL_ZONEID && be_get_uuid(bt.nbe_root_ds,
1114 (void) be_destroy_zones(bt.nbe_name, bt.nbe_root_ds,
1117 (void) _be_destroy(bt.nbe_root_ds, &cdd);
1150 be_transaction_data_t *bt = data;
1157 be_make_root_ds(zpool, bt->obe_name, be_root_ds, sizeof (be_root_ds));
1164 bt->obe_zpool = strdup(zpool);
1803 be_transaction_data_t bt = { 0 };
1965 bt.obe_name = zone_be_name;
1966 bt.obe_root_ds = zoneroot_ds;
1967 bt.obe_snap_name = snap_name;
1968 bt.obe_altroot = temp_mntpt;
1969 bt.nbe_name = new_zone_be_name;
1970 bt.nbe_root_ds = new_zoneroot_ds;
1972 if (nvlist_alloc(&bt.nbe_zfs_props, NV_UNIQUE_NAME, 0) != 0) {
1983 if ((iret = be_clone_fs_callback(z_zhp, &bt)) != 0) {
1990 if (bt.nbe_zfs_props != NULL)
1991 nvlist_free(bt.nbe_zfs_props);
2016 if (bt.nbe_zfs_props != NULL)
2017 nvlist_free(bt.nbe_zfs_props);
2025 bt.nbe_name = new_zone_be_name;
2026 bt.nbe_root_ds = new_zoneroot_ds;
2040 if (bt.nbe_zfs_props != NULL)
2041 nvlist_free(bt.nbe_zfs_props);
2051 iret = be_clone_fs_callback(z_zhp, &bt);
2061 if (bt.nbe_zfs_props != NULL)
2062 nvlist_free(bt.nbe_zfs_props);
2074 free(bt.nbe_name);
2075 bt.nbe_name = NULL;
2077 if (bt.nbe_zfs_props != NULL)
2078 nvlist_free(bt.nbe_zfs_props);
2083 if (bt.nbe_zfs_props != NULL)
2084 nvlist_free(bt.nbe_zfs_props);
2133 if ((ret = be_update_zone_vfstab(z_zhp, bt.nbe_name,
2137 bt.nbe_name);
2178 be_transaction_data_t *bt = data;
2214 if ((ret = be_prep_clone_send_fs(zhp, bt, clone_ds,
2224 bt->obe_snap_name);
2241 if (zfs_clone(zhp_ss, clone_ds, bt->nbe_zfs_props) != 0) {
2259 if ((ret = zfs_iter_filesystems(zhp, be_clone_fs_callback, bt)) != 0) {
2299 be_transaction_data_t *bt = data;
2316 if ((ret = be_prep_clone_send_fs(zhp, bt, clone_ds,
2325 if (zfs_create(g_zfs, clone_ds, ZFS_TYPE_FILESYSTEM, bt->nbe_zfs_props)
2366 if (zfs_send(zhp, NULL, bt->obe_snap_name, send_flags,
2404 if ((ret = zfs_iter_filesystems(zhp, be_send_fs_callback, bt)) != 0) {
2826 * bt - be_transaction_data pointer providing information
2838 be_prep_clone_send_fs(zfs_handle_t *zhp, be_transaction_data_t *bt,
2857 if (strncmp(zhp_name, bt->obe_root_ds, strlen(bt->obe_root_ds))
2859 child_fs = zhp_name + strlen(bt->obe_root_ds);
2874 (void) snprintf(clone_ds, clone_ds_len, "%s%s", bt->nbe_root_ds,
2910 bt->obe_altroot != NULL && strcmp(bt->obe_altroot,
2913 int altroot_len = strlen(bt->obe_altroot);
2915 if (strncmp(bt->obe_altroot, mountpoint, altroot_len)
2926 if (nvlist_add_string(bt->nbe_zfs_props,
2934 err = nvlist_remove_all(bt->nbe_zfs_props,
2947 if (nvlist_add_string(bt->nbe_zfs_props,