Lines Matching refs:ds

51 dsl_dataset_user_hold_check_one(dsl_dataset_t *ds, const char *htag,  in dsl_dataset_user_hold_check_one()  argument
67 if (ds != NULL && dsl_dataset_phys(ds)->ds_userrefs_obj != 0) { in dsl_dataset_user_hold_check_one()
70 error = zap_lookup(mos, dsl_dataset_phys(ds)->ds_userrefs_obj, in dsl_dataset_user_hold_check_one()
116 dsl_dataset_t *ds; in dsl_dataset_user_hold_check() local
129 error = dsl_dataset_hold(dp, name, FTAG, &ds); in dsl_dataset_user_hold_check()
132 error = dsl_dataset_user_hold_check_one(ds, htag, in dsl_dataset_user_hold_check()
134 dsl_dataset_rele(ds, FTAG); in dsl_dataset_user_hold_check()
155 dsl_dataset_user_hold_sync_one_impl(nvlist_t *tmpholds, dsl_dataset_t *ds, in dsl_dataset_user_hold_sync_one_impl() argument
158 dsl_pool_t *dp = ds->ds_dir->dd_pool; in dsl_dataset_user_hold_sync_one_impl()
164 if (dsl_dataset_phys(ds)->ds_userrefs_obj == 0) { in dsl_dataset_user_hold_sync_one_impl()
169 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_dataset_user_hold_sync_one_impl()
170 zapobj = dsl_dataset_phys(ds)->ds_userrefs_obj = in dsl_dataset_user_hold_sync_one_impl()
173 zapobj = dsl_dataset_phys(ds)->ds_userrefs_obj; in dsl_dataset_user_hold_sync_one_impl()
175 ds->ds_userrefs++; in dsl_dataset_user_hold_sync_one_impl()
183 VERIFY0(dsl_pool_user_hold(dp, ds->ds_object, in dsl_dataset_user_hold_sync_one_impl()
186 (u_longlong_t)ds->ds_object); in dsl_dataset_user_hold_sync_one_impl()
198 spa_history_log_internal_ds(ds, "hold", tx, in dsl_dataset_user_hold_sync_one_impl()
200 htag, minor != 0, ds->ds_userrefs); in dsl_dataset_user_hold_sync_one_impl()
259 dsl_dataset_user_hold_sync_one(dsl_dataset_t *ds, const char *htag, in dsl_dataset_user_hold_sync_one() argument
268 dsl_dataset_user_hold_sync_one_impl(tmpholds, ds, htag, minor, now, tx); in dsl_dataset_user_hold_sync_one()
269 dsl_onexit_hold_cleanup(dsl_dataset_get_spa(ds), tmpholds, minor); in dsl_dataset_user_hold_sync_one()
287 dsl_dataset_t *ds; in dsl_dataset_user_hold_sync() local
289 VERIFY0(dsl_dataset_hold(dp, nvpair_name(pair), FTAG, &ds)); in dsl_dataset_user_hold_sync()
290 dsl_dataset_user_hold_sync_one_impl(tmpholds, ds, in dsl_dataset_user_hold_sync()
292 dsl_dataset_rele(ds, FTAG); in dsl_dataset_user_hold_sync()
370 dsl_dataset_t *ds, nvlist_t *holds, const char *snapname) in dsl_dataset_user_release_check_one() argument
377 if (!ds->ds_is_snapshot) in dsl_dataset_user_release_check_one()
384 mos = ds->ds_dir->dd_pool->dp_meta_objset; in dsl_dataset_user_release_check_one()
385 zapobj = dsl_dataset_phys(ds)->ds_userrefs_obj; in dsl_dataset_user_release_check_one()
423 if (DS_IS_DEFER_DESTROY(ds) && in dsl_dataset_user_release_check_one()
424 dsl_dataset_phys(ds)->ds_num_children == 1 && in dsl_dataset_user_release_check_one()
425 ds->ds_userrefs == numholds) { in dsl_dataset_user_release_check_one()
427 if (dsl_dataset_long_held(ds)) { in dsl_dataset_user_release_check_one()
463 dsl_dataset_t *ds; in dsl_dataset_user_release_check() local
471 error = holdfunc(dp, snapname, FTAG, &ds); in dsl_dataset_user_release_check()
473 error = dsl_dataset_user_release_check_one(ddura, ds, in dsl_dataset_user_release_check()
475 dsl_dataset_rele(ds, FTAG); in dsl_dataset_user_release_check()
495 dsl_dataset_user_release_sync_one(dsl_dataset_t *ds, nvlist_t *holds, in dsl_dataset_user_release_sync_one() argument
498 dsl_pool_t *dp = ds->ds_dir->dd_pool; in dsl_dataset_user_release_sync_one()
507 error = dsl_pool_user_release(dp, ds->ds_object, holdname, tx); in dsl_dataset_user_release_sync_one()
510 VERIFY0(zap_remove(mos, dsl_dataset_phys(ds)->ds_userrefs_obj, in dsl_dataset_user_release_sync_one()
512 ds->ds_userrefs--; in dsl_dataset_user_release_sync_one()
514 spa_history_log_internal_ds(ds, "release", tx, in dsl_dataset_user_release_sync_one()
515 "tag=%s refs=%lld", holdname, (longlong_t)ds->ds_userrefs); in dsl_dataset_user_release_sync_one()
531 dsl_dataset_t *ds; in dsl_dataset_user_release_sync() local
534 VERIFY0(holdfunc(dp, name, FTAG, &ds)); in dsl_dataset_user_release_sync()
536 dsl_dataset_user_release_sync_one(ds, in dsl_dataset_user_release_sync()
539 ASSERT(ds->ds_userrefs == 0 && in dsl_dataset_user_release_sync()
540 dsl_dataset_phys(ds)->ds_num_children == 1 && in dsl_dataset_user_release_sync()
541 DS_IS_DEFER_DESTROY(ds)); in dsl_dataset_user_release_sync()
542 dsl_destroy_snapshot_sync_impl(ds, B_FALSE, tx); in dsl_dataset_user_release_sync()
544 dsl_dataset_rele(ds, FTAG); in dsl_dataset_user_release_sync()
593 dsl_dataset_t *ds; in dsl_dataset_user_release_impl() local
597 nvpair_name(pair), FTAG, &ds); in dsl_dataset_user_release_impl()
600 dsl_dataset_name(ds, name); in dsl_dataset_user_release_impl()
602 dsl_dataset_rele(ds, FTAG); in dsl_dataset_user_release_impl()
659 dsl_dataset_t *ds; in dsl_dataset_get_holds() local
665 err = dsl_dataset_hold(dp, dsname, FTAG, &ds); in dsl_dataset_get_holds()
671 if (dsl_dataset_phys(ds)->ds_userrefs_obj != 0) { in dsl_dataset_get_holds()
676 for (zap_cursor_init(&zc, ds->ds_dir->dd_pool->dp_meta_objset, in dsl_dataset_get_holds()
677 dsl_dataset_phys(ds)->ds_userrefs_obj); in dsl_dataset_get_holds()
686 dsl_dataset_rele(ds, FTAG); in dsl_dataset_get_holds()