equal
deleted
inserted
replaced
496 |
496 |
497 /* open the temporary clone */ |
497 /* open the temporary clone */ |
498 VERIFY(0 == dsl_dataset_open_obj(dp, dsobj, NULL, |
498 VERIFY(0 == dsl_dataset_open_obj(dp, dsobj, NULL, |
499 DS_MODE_EXCLUSIVE, dmu_recv_tag, &cds)); |
499 DS_MODE_EXCLUSIVE, dmu_recv_tag, &cds)); |
500 |
500 |
|
501 /* copy the refquota from the target fs to the clone */ |
|
502 if (ohds->ds_quota > 0) |
|
503 dsl_dataset_set_quota_sync(cds, &ohds->ds_quota, cr, tx); |
|
504 |
501 dmu_buf_will_dirty(cds->ds_dbuf, tx); |
505 dmu_buf_will_dirty(cds->ds_dbuf, tx); |
502 cds->ds_phys->ds_flags |= DS_FLAG_INCONSISTENT; |
506 cds->ds_phys->ds_flags |= DS_FLAG_INCONSISTENT; |
503 |
507 |
504 rbsa->ds = cds; |
508 rbsa->ds = cds; |
505 |
509 |
511 /* ARGSUSED */ |
515 /* ARGSUSED */ |
512 static void |
516 static void |
513 recv_offline_incremental_sync(void *arg1, void *arg2, cred_t *cr, dmu_tx_t *tx) |
517 recv_offline_incremental_sync(void *arg1, void *arg2, cred_t *cr, dmu_tx_t *tx) |
514 { |
518 { |
515 dsl_dataset_t *ds = arg1; |
519 dsl_dataset_t *ds = arg1; |
|
520 |
516 dmu_buf_will_dirty(ds->ds_dbuf, tx); |
521 dmu_buf_will_dirty(ds->ds_dbuf, tx); |
517 ds->ds_phys->ds_flags |= DS_FLAG_INCONSISTENT; |
522 ds->ds_phys->ds_flags |= DS_FLAG_INCONSISTENT; |
518 |
523 |
519 spa_history_internal_log(LOG_DS_REPLAY_INC_SYNC, |
524 spa_history_internal_log(LOG_DS_REPLAY_INC_SYNC, |
520 ds->ds_dir->dd_pool->dp_spa, tx, cr, "dataset = %lld", |
525 ds->ds_dir->dd_pool->dp_spa, tx, cr, "dataset = %lld", |