Lines Matching defs:to_ds
1480 * to_ds since the ancestor's creation txg. If it is, then since
1926 dsl_dataset_t *to_ds;
1956 dsl_dataset_t *to_ds = dspp->to_ds;
1970 dsl_dataset_feature_is_active(to_ds, SPA_FEATURE_LARGE_BLOCKS)) {
2001 dsl_dataset_feature_is_active(to_ds, SPA_FEATURE_ZSTD_COMPRESS)) {
2013 if (dsl_dataset_feature_is_active(to_ds, SPA_FEATURE_LARGE_DNODE)) {
2017 if (dsl_dataset_feature_is_active(to_ds, SPA_FEATURE_LONGNAME)) {
2021 if (dsl_dataset_feature_is_active(to_ds, SPA_FEATURE_LARGE_MICROZAP)) {
2043 dsl_dataset_t *to_ds = dspp->to_ds;
2046 drrb->drr_creation_time = dsl_dataset_phys(to_ds)->ds_creation_time;
2048 drrb->drr_toguid = dsl_dataset_phys(to_ds)->ds_guid;
2056 if (dsl_dataset_phys(dspp->to_ds)->ds_flags & DS_FLAG_CI_DATASET)
2067 dsl_dataset_name(to_ds, drrb->drr_toname);
2068 if (!to_ds->ds_is_snapshot) {
2181 dsl_dataset_t *to_ds = dspp->to_ds;
2200 SET_BOOKMARK(&rlt_arg->resume, to_ds->ds_object, obj, 0, blkid);
2203 SET_BOOKMARK(&to_arg->resume, to_ds->ds_object, obj, 0, blkid);
2216 * the to_ds. In addition, we know that any blocks in
2217 * the object in the to_ds will have to be sent, since
2237 mutex_enter(&dspp->to_ds->ds_sendstream_lock);
2238 list_insert_head(&dspp->to_ds->ds_sendstreams, dssp);
2239 mutex_exit(&dspp->to_ds->ds_sendstream_lock);
2246 * The idea is that we want to do a send from ancestor_zb to to_ds. We also
2249 * a bookmark named redactbook, created on the to_ds. We do this by creating
2254 * The first thread is the to_ds traversal thread: it calls dataset_traverse on
2255 * the to_ds and finds all the blocks that have changed since ancestor_zb (if
2259 * thread. The send merge thread takes the data from the to_ds traversal
2261 * thread. If a block appears in both the to_ds's data and the redaction data,
2286 * | to_ds Traversal | | | reads of data blocks|
2289 * +--------------------+ by to_ds since |
2296 * The second case is an incremental send from a redaction bookmark. The to_ds
2309 * traversal thread's records, and the to_ds records.
2322 * | candidate blocks) | | to_ds send records |
2328 * | to_ds Traversal | | | reads of data blocks|
2331 * +--------------------+ by to_ds since +------------v----+
2337 * The final case is a simple zfs full or incremental send. The to_ds traversal
2339 * The send merge thread takes all the blocks that the to_ds traversal thread
2344 * threads. While the to_ds thread could simply use the TRAVERSE_PREFETCH
2382 dsl_dataset_t *to_ds = dspp->to_ds;
2387 err = dmu_objset_from_ds(to_ds, &os);
2403 SET_BOOKMARK(&zb, to_ds->ds_object, ZB_ROOT_OBJECT,
2452 dsl_dataset_long_hold(to_ds, FTAG);
2467 dsc.dsc_toguid = dsl_dataset_phys(to_ds)->ds_guid;
2491 } else if (dsl_dataset_feature_is_active(to_ds,
2495 VERIFY(dsl_dataset_get_uint64_array_feature(to_ds,
2628 mutex_enter(&to_ds->ds_sendstream_lock);
2629 list_remove(&to_ds->ds_sendstreams, dssp);
2630 mutex_exit(&to_ds->ds_sendstream_lock);
2643 dsl_dataset_long_rele(to_ds, FTAG);
2682 &dspp.to_ds);
2692 dsl_dataset_rele_flags(dspp.to_ds, dsflags, FTAG);
2724 dsl_dataset_is_before(dspp.to_ds, fromds, 0);
2725 dspp.is_clone = (dspp.to_ds->ds_dir !=
2742 dsl_dataset_rele(dspp.to_ds, FTAG);
2803 FTAG, &dspp.to_ds);
2806 dsflags, FTAG, &dspp.to_ds);
2812 dspp.to_ds->ds_object,
2819 dspp.to_ds->ds_object,
2826 dsl_dataset_disown(dspp.to_ds, dsflags, FTAG);
2831 FTAG, &dspp.to_ds);
2837 &dspp.to_ds);
2864 dsl_dataset_disown(dspp.to_ds, dsflags, FTAG);
2866 dsl_dataset_rele_flags(dspp.to_ds, dsflags, FTAG);
2916 if (!dsl_dataset_is_before(dspp.to_ds, fromds,
2942 err = dsl_bookmark_lookup(dspp.dp, fromsnap, dspp.to_ds,
2946 dsl_dataset_phys(dspp.to_ds)->ds_guid)
2965 dsl_dataset_disown(dspp.to_ds, dsflags, FTAG);
2967 dsl_dataset_rele_flags(dspp.to_ds, dsflags, FTAG);