| 405 | } |
| 406 | |
| 407 | static void |
| 408 | dle_enqueue(dsl_deadlist_t *dl, dsl_deadlist_entry_t *dle, |
| 409 | const blkptr_t *bp, boolean_t bp_freed, dmu_tx_t *tx) |
| 410 | { |
| 411 | ASSERT(MUTEX_HELD(&dl->dl_lock)); |
| 412 | if (dle->dle_bpobj.bpo_object == |
| 413 | dmu_objset_pool(dl->dl_os)->dp_empty_bpobj) { |
| 414 | uint64_t obj = bpobj_alloc(dl->dl_os, SPA_OLD_MAXBLOCKSIZE, tx); |
| 415 | bpobj_close(&dle->dle_bpobj); |
| 416 | bpobj_decr_empty(dl->dl_os, tx); |
| 417 | VERIFY0(bpobj_open(&dle->dle_bpobj, dl->dl_os, obj)); |
| 418 | VERIFY0(zap_update_int_key(dl->dl_os, dl->dl_object, |
| 419 | dle->dle_mintxg, obj, tx)); |
| 420 | } |
| 421 | bpobj_enqueue(&dle->dle_bpobj, bp, bp_freed, tx); |
| 422 | } |
| 423 | |
| 424 | static void |
| 425 | dle_enqueue_subobj(dsl_deadlist_t *dl, dsl_deadlist_entry_t *dle, |
no test coverage detected