Lines Matching defs:dle

169 		dsl_deadlist_entry_t *dle = kmem_alloc(sizeof (*dle), KM_SLEEP);
170 dle->dle_mintxg = zfs_strtonum(za->za_name, NULL);
176 dle->dle_bpobj.bpo_object = za->za_first_integer;
177 dmu_prefetch_dnode(dl->dl_os, dle->dle_bpobj.bpo_object,
180 avl_add(&dl->dl_tree, dle);
186 for (dsl_deadlist_entry_t *dle = avl_first(&dl->dl_tree);
187 dle != NULL; dle = AVL_NEXT(&dl->dl_tree, dle)) {
188 VERIFY0(bpobj_open(&dle->dle_bpobj, dl->dl_os,
189 dle->dle_bpobj.bpo_object));
273 dsl_deadlist_entry_t *dle;
275 while ((dle = avl_destroy_nodes(&dl->dl_tree, &cookie)) != NULL) {
276 bpobj_close(&dle->dle_bpobj);
277 kmem_free(dle, sizeof (*dle));
288 dsl_deadlist_entry_t *dle;
295 for (dle = avl_first(&dl->dl_tree); dle != NULL;
296 dle = AVL_NEXT(&dl->dl_tree, dle)) {
297 if (func(args, dle) != 0)
352 dsl_deadlist_entry_t *dle;
354 while ((dle = avl_destroy_nodes(&dl->dl_tree, &cookie))
356 bpobj_close(&dle->dle_bpobj);
357 kmem_free(dle, sizeof (*dle));
417 dle_enqueue(dsl_deadlist_t *dl, dsl_deadlist_entry_t *dle,
421 if (dle->dle_bpobj.bpo_object ==
424 bpobj_close(&dle->dle_bpobj);
426 VERIFY0(bpobj_open(&dle->dle_bpobj, dl->dl_os, obj));
428 dle->dle_mintxg, obj, tx));
430 bpobj_enqueue(&dle->dle_bpobj, bp, bp_freed, tx);
434 dle_enqueue_subobj(dsl_deadlist_t *dl, dsl_deadlist_entry_t *dle,
438 if (dle->dle_bpobj.bpo_object !=
440 bpobj_enqueue_subobj(&dle->dle_bpobj, obj, tx);
442 bpobj_close(&dle->dle_bpobj);
444 VERIFY0(bpobj_open(&dle->dle_bpobj, dl->dl_os, obj));
446 dle->dle_mintxg, obj, tx));
454 dle_prefetch_subobj(dsl_deadlist_t *dl, dsl_deadlist_entry_t *dle,
457 if (dle->dle_bpobj.bpo_object !=
459 bpobj_prefetch_subobj(&dle->dle_bpobj, obj);
467 dsl_deadlist_entry_t *dle;
487 dle = avl_find(&dl->dl_tree, &dle_tofind, &where);
488 if (dle == NULL)
489 dle = avl_nearest(&dl->dl_tree, where, AVL_BEFORE);
491 dle = AVL_PREV(&dl->dl_tree, dle);
493 if (dle == NULL) {
496 dle = avl_first(&dl->dl_tree);
499 ASSERT3P(dle, !=, NULL);
500 dle_enqueue(dl, dle, bp, bp_freed, tx);
528 dsl_deadlist_entry_t *dle;
533 dle = kmem_alloc(sizeof (*dle), KM_SLEEP);
534 dle->dle_mintxg = mintxg;
540 VERIFY0(bpobj_open(&dle->dle_bpobj, dl->dl_os, obj));
541 avl_add(&dl->dl_tree, dle);
555 dsl_deadlist_entry_t *dle, *dle_prev;
563 dle = avl_find(&dl->dl_tree, &dle_tofind, NULL);
564 ASSERT3P(dle, !=, NULL);
565 dle_prev = AVL_PREV(&dl->dl_tree, dle);
568 dle_enqueue_subobj(dl, dle_prev, dle->dle_bpobj.bpo_object, tx);
570 avl_remove(&dl->dl_tree, dle);
571 bpobj_close(&dle->dle_bpobj);
572 kmem_free(dle, sizeof (*dle));
588 dsl_deadlist_entry_t *dle;
598 dle = avl_find(&dl->dl_tree, &dle_tofind, NULL);
599 VERIFY3P(dle, !=, NULL);
601 avl_remove(&dl->dl_tree, dle);
603 VERIFY0(bpobj_space(&dle->dle_bpobj, &used, &comp, &uncomp));
608 if (dle->dle_bpobj.bpo_object == dmu_objset_pool(os)->dp_empty_bpobj) {
611 bpobj_free(os, dle->dle_bpobj.bpo_object, tx);
613 bpobj_close(&dle->dle_bpobj);
614 kmem_free(dle, sizeof (*dle));
624 dsl_deadlist_clear_entry(dsl_deadlist_entry_t *dle, dsl_deadlist_t *dl,
631 VERIFY0(zap_remove_int(os, dl->dl_object, dle->dle_mintxg, tx));
632 VERIFY0(bpobj_space(&dle->dle_bpobj, &used, &comp, &uncomp));
637 if (dle->dle_bpobj.bpo_object == dmu_objset_pool(os)->dp_empty_bpobj)
640 bpobj_free(os, dle->dle_bpobj.bpo_object, tx);
641 bpobj_close(&dle->dle_bpobj);
643 VERIFY0(bpobj_open(&dle->dle_bpobj, os, new_obj));
644 VERIFY0(zap_add_int_key(os, dl->dl_object, dle->dle_mintxg,
646 ASSERT(bpobj_is_empty(&dle->dle_bpobj));
656 dsl_deadlist_entry_t *dle;
660 dle = avl_first(&dl->dl_tree);
663 return (dle);
672 dsl_deadlist_entry_t *dle;
676 dle = avl_last(&dl->dl_tree);
679 return (dle);
713 dsl_deadlist_entry_t *dle;
726 for (dle = avl_first(&dl->dl_tree); dle;
727 dle = AVL_NEXT(&dl->dl_tree, dle)) {
730 if (dle->dle_mintxg >= maxtxg)
735 dle->dle_mintxg, obj, tx));
809 dsl_deadlist_entry_t *dle;
828 dle = avl_find(&dl->dl_tree, &dle_tofind, &where);
829 if (dle == NULL)
830 dle = avl_nearest(&dl->dl_tree, where, AVL_BEFORE);
831 dle_enqueue_subobj(dl, dle, obj, tx);
841 dsl_deadlist_entry_t *dle;
849 dle = avl_find(&dl->dl_tree, &dle_tofind, &where);
850 if (dle == NULL)
851 dle = avl_nearest(&dl->dl_tree, where, AVL_BEFORE);
852 dle_prefetch_subobj(dl, dle, obj);
937 dsl_deadlist_entry_t *dle, *pdle;
948 dle = avl_find(&dl->dl_tree, &dle_tofind, &where);
949 if (dle == NULL)
950 dle = avl_nearest(&dl->dl_tree, where, AVL_AFTER);
955 for (pdle = dle, i = 0; pdle && i < 128; i++) {
959 while (dle) {
963 bpobj_enqueue_subobj(bpo, dle->dle_bpobj.bpo_object, tx);
969 VERIFY0(bpobj_space(&dle->dle_bpobj,
979 dle->dle_mintxg, tx));
981 dle_next = AVL_NEXT(&dl->dl_tree, dle);
982 avl_remove(&dl->dl_tree, dle);
983 bpobj_close(&dle->dle_bpobj);
984 kmem_free(dle, sizeof (*dle));
985 dle = dle_next;