Partially revert eee9362a7
With commit34ce4c42f
applied, there is no need foreee9362a7
. Revert that aside from the test. All tests introduced in those commits pass. Reviewed-by: Richard Yao <richard.yao@alumni.stonybrook.edu> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: George Amanakis <gamanakis@gmail.com> Closes #14502
This commit is contained in:
parent
57159a519b
commit
083239575a
|
@ -2408,6 +2408,13 @@ dmu_objset_id_quota_upgrade_cb(objset_t *os)
|
||||||
dmu_objset_userobjspace_present(os))
|
dmu_objset_userobjspace_present(os))
|
||||||
return (SET_ERROR(ENOTSUP));
|
return (SET_ERROR(ENOTSUP));
|
||||||
|
|
||||||
|
if (dmu_objset_userobjused_enabled(os))
|
||||||
|
dmu_objset_ds(os)->ds_feature_activation[
|
||||||
|
SPA_FEATURE_USEROBJ_ACCOUNTING] = (void *)B_TRUE;
|
||||||
|
if (dmu_objset_projectquota_enabled(os))
|
||||||
|
dmu_objset_ds(os)->ds_feature_activation[
|
||||||
|
SPA_FEATURE_PROJECT_QUOTA] = (void *)B_TRUE;
|
||||||
|
|
||||||
err = dmu_objset_space_upgrade(os);
|
err = dmu_objset_space_upgrade(os);
|
||||||
if (err)
|
if (err)
|
||||||
return (err);
|
return (err);
|
||||||
|
|
|
@ -1747,25 +1747,6 @@ dsl_dataset_snapshot_sync_impl(dsl_dataset_t *ds, const char *snapname,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* We are not allowed to dirty a filesystem when done receiving
|
|
||||||
* a snapshot. In this case some flags such as SPA_FEATURE_LARGE_BLOCKS
|
|
||||||
* will not be set and a subsequent encrypted raw send will fail. Hence
|
|
||||||
* activate this feature if needed here. This needs to happen only in
|
|
||||||
* syncing context.
|
|
||||||
*/
|
|
||||||
if (dmu_tx_is_syncing(tx)) {
|
|
||||||
for (spa_feature_t f = 0; f < SPA_FEATURES; f++) {
|
|
||||||
if (zfeature_active(f, ds->ds_feature_activation[f]) &&
|
|
||||||
!(zfeature_active(f, ds->ds_feature[f]))) {
|
|
||||||
dsl_dataset_activate_feature(dsobj, f,
|
|
||||||
ds->ds_feature_activation[f], tx);
|
|
||||||
ds->ds_feature[f] =
|
|
||||||
ds->ds_feature_activation[f];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ASSERT3U(ds->ds_prev != 0, ==,
|
ASSERT3U(ds->ds_prev != 0, ==,
|
||||||
dsl_dataset_phys(ds)->ds_prev_snap_obj != 0);
|
dsl_dataset_phys(ds)->ds_prev_snap_obj != 0);
|
||||||
if (ds->ds_prev) {
|
if (ds->ds_prev) {
|
||||||
|
|
|
@ -2025,11 +2025,6 @@ dsl_scan_visitbp(blkptr_t *bp, const zbookmark_phys_t *zb,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bp->blk_birth <= scn->scn_phys.scn_cur_min_txg) {
|
|
||||||
scn->scn_lt_min_this_txg++;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
bp_toread = kmem_alloc(sizeof (blkptr_t), KM_SLEEP);
|
bp_toread = kmem_alloc(sizeof (blkptr_t), KM_SLEEP);
|
||||||
*bp_toread = *bp;
|
*bp_toread = *bp;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue