Lines Matching refs:ds

77 	dsl_dataset_t	*ds;		/* Dataset to traverse */
97 dsl_dataset_t *ds = dmu_objset_ds(dsp->dsa_os);
118 mutex_enter(&ds->ds_sendstream_lock);
120 mutex_exit(&ds->ds_sendstream_lock);
568 if (st_arg->ds != NULL) {
569 err = traverse_dataset_resume(st_arg->ds,
589 dsl_dataset_t *ds = dmu_objset_ds(dsa->dsa_os);
594 spa_t *spa = ds->ds_dir->dd_pool->dp_spa;
893 to_arg.ds = to_ds;
964 dsl_dataset_t *ds;
972 err = dsl_dataset_hold_obj(dp, tosnap, FTAG, &ds);
984 dsl_dataset_rele(ds, FTAG);
988 if (!dsl_dataset_is_before(ds, fromds, 0))
994 is_clone = (fromds->ds_dir != ds->ds_dir);
996 err = dmu_send_impl(FTAG, dp, ds, &zb, is_clone,
999 err = dmu_send_impl(FTAG, dp, ds, NULL, B_FALSE,
1002 dsl_dataset_rele(ds, FTAG);
1013 dsl_dataset_t *ds;
1029 err = dsl_dataset_own(dp, tosnap, FTAG, &ds);
1032 err = dsl_dataset_hold(dp, tosnap, FTAG, &ds);
1058 if (!dsl_dataset_is_before(ds, fromds, 0))
1065 is_clone = (ds->ds_dir != fromds->ds_dir);
1069 err = dsl_bookmark_lookup(dp, fromsnap, ds, &zb);
1072 dsl_dataset_rele(ds, FTAG);
1076 err = dmu_send_impl(FTAG, dp, ds, &zb, is_clone,
1080 err = dmu_send_impl(FTAG, dp, ds, NULL, B_FALSE,
1085 dsl_dataset_disown(ds, FTAG);
1087 dsl_dataset_rele(ds, FTAG);
1092 dmu_adjust_send_estimate_for_indirects(dsl_dataset_t *ds, uint64_t uncompressed,
1106 err = dsl_prop_get_int_ds(ds, zfs_prop_to_name(ZFS_PROP_RECORDSIZE),
1138 dmu_send_estimate(dsl_dataset_t *ds, dsl_dataset_t *fromds,
1141 dsl_pool_t *dp = ds->ds_dir->dd_pool;
1148 if (!ds->ds_is_snapshot)
1159 if (fromds != NULL && !dsl_dataset_is_before(ds, fromds, 0))
1164 uncomp = dsl_dataset_phys(ds)->ds_uncompressed_bytes;
1165 comp = dsl_dataset_phys(ds)->ds_compressed_bytes;
1168 err = dsl_dataset_space_written(fromds, ds,
1174 err = dmu_adjust_send_estimate_for_indirects(ds, uncomp, comp,
1207 dmu_send_estimate_from_txg(dsl_dataset_t *ds, uint64_t from_txg,
1210 dsl_pool_t *dp = ds->ds_dir->dd_pool;
1217 if (!ds->ds_is_snapshot)
1221 if (from_txg >= dsl_dataset_phys(ds)->ds_creation_txg) {
1229 err = traverse_dataset(ds, from_txg, TRAVERSE_POST,
1234 err = dmu_adjust_send_estimate_for_indirects(ds, size.uncompressed,
1247 recv_begin_check_existing_impl(dmu_recv_begin_arg_t *drba, dsl_dataset_t *ds,
1252 dsl_pool_t *dp = ds->ds_dir->dd_pool;
1256 dsl_dir_phys(ds->ds_dir)->dd_child_dir_zapobj, recv_clone_name,
1263 dsl_dataset_phys(ds)->ds_snapnames_zapobj,
1277 error = dsl_fs_ss_limit_check(ds->ds_dir, 1, ZFS_PROP_SNAPSHOT_LIMIT,
1284 uint64_t obj = dsl_dataset_phys(ds)->ds_prev_snap_obj;
1292 if (snap->ds_dir != ds->ds_dir) {
1311 if (dsl_dataset_modified_since_snap(ds, snap)) {
1315 drba->drba_snapobj = ds->ds_prev->ds_object;
1342 dsl_dataset_t *ds;
1386 error = dsl_dataset_hold(dp, tofs, FTAG, &ds);
1392 dsl_dataset_rele(ds, FTAG);
1396 error = recv_begin_check_existing_impl(drba, ds, fromguid);
1397 dsl_dataset_rele(ds, FTAG);
1422 error = dsl_dataset_hold(dp, buf, FTAG, &ds);
1431 error = dsl_fs_ss_limit_check(ds->ds_dir, 1,
1434 dsl_dataset_rele(ds, FTAG);
1438 error = dsl_fs_ss_limit_check(ds->ds_dir, 1,
1441 dsl_dataset_rele(ds, FTAG);
1450 dsl_dataset_rele(ds, FTAG);
1455 dsl_dataset_rele(ds, FTAG);
1461 dsl_dataset_rele(ds, FTAG);
1466 dsl_dataset_rele(ds, FTAG);
1480 dsl_dataset_t *ds, *newds;
1488 error = dsl_dataset_hold(dp, tofs, FTAG, &ds);
1496 dsobj = dsl_dataset_create_sync(ds->ds_dir, recv_clone_name,
1500 dsl_dataset_rele(ds, FTAG);
1586 dsl_dataset_t *ds;
1622 if (dsl_dataset_hold(dp, recvname, FTAG, &ds) != 0) {
1624 error = dsl_dataset_hold(dp, tofs, FTAG, &ds);
1629 /* check that ds is marked inconsistent */
1630 if (!DS_IS_INCONSISTENT(ds)) {
1631 dsl_dataset_rele(ds, FTAG);
1636 if (!dsl_dataset_is_zapified(ds)) {
1637 dsl_dataset_rele(ds, FTAG);
1641 error = zap_lookup(dp->dp_meta_objset, ds->ds_object,
1644 dsl_dataset_rele(ds, FTAG);
1653 if (dsl_dataset_has_owner(ds)) {
1654 dsl_dataset_rele(ds, FTAG);
1659 if (ds->ds_prev != NULL && ds->ds_prev->ds_dir == ds->ds_dir) {
1660 dsl_dataset_rele(ds, FTAG);
1671 (void) zap_lookup(dp->dp_meta_objset, ds->ds_object,
1674 dsl_dataset_rele(ds, FTAG);
1678 dsl_dataset_rele(ds, FTAG);
1688 dsl_dataset_t *ds;
1696 if (dsl_dataset_hold(dp, recvname, FTAG, &ds) != 0) {
1698 VERIFY0(dsl_dataset_hold(dp, tofs, FTAG, &ds));
1703 ASSERT(DS_IS_INCONSISTENT(ds));
1704 dmu_buf_will_dirty(ds->ds_dbuf, tx);
1705 dsl_dataset_phys(ds)->ds_flags &= ~DS_FLAG_INCONSISTENT;
1706 dsobj = ds->ds_object;
1707 dsl_dataset_rele(ds, FTAG);
1709 VERIFY0(dsl_dataset_own_obj(dp, dsobj, dmu_recv_tag, &ds));
1711 dmu_buf_will_dirty(ds->ds_dbuf, tx);
1712 dsl_dataset_phys(ds)->ds_flags |= DS_FLAG_INCONSISTENT;
1714 rrw_enter(&ds->ds_bp_rwlock, RW_READER, FTAG);
1715 ASSERT(!BP_IS_HOLE(dsl_dataset_get_blkptr(ds)));
1716 rrw_exit(&ds->ds_bp_rwlock, FTAG);
1718 drba->drba_cookie->drc_ds = ds;
1720 spa_history_log_internal_ds(ds, "resume receive", tx, "");
3170 dsl_dataset_t *ds = drc->drc_ds;
3172 dsl_dataset_snapshot_sync_impl(ds, drc->drc_tosnap, tx);
3175 dmu_buf_will_dirty(ds->ds_prev->ds_dbuf, tx);
3176 dsl_dataset_phys(ds->ds_prev)->ds_creation_time =
3178 dsl_dataset_phys(ds->ds_prev)->ds_guid =
3180 dsl_dataset_phys(ds->ds_prev)->ds_flags &=
3183 dmu_buf_will_dirty(ds->ds_dbuf, tx);
3184 dsl_dataset_phys(ds)->ds_flags &= ~DS_FLAG_INCONSISTENT;
3185 if (dsl_dataset_has_resume_receive_state(ds)) {
3186 (void) zap_remove(dp->dp_meta_objset, ds->ds_object,
3188 (void) zap_remove(dp->dp_meta_objset, ds->ds_object,
3190 (void) zap_remove(dp->dp_meta_objset, ds->ds_object,
3192 (void) zap_remove(dp->dp_meta_objset, ds->ds_object,
3194 (void) zap_remove(dp->dp_meta_objset, ds->ds_object,
3196 (void) zap_remove(dp->dp_meta_objset, ds->ds_object,
3246 * We will be destroying the ds; make sure its origin is unmounted if