• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/contrib/openzfs/module/zfs/

Lines Matching refs:dle

168 		dsl_deadlist_entry_t *dle = kmem_alloc(sizeof (*dle), KM_SLEEP);
169 dle->dle_mintxg = zfs_strtonum(za.za_name, NULL);
175 dle->dle_bpobj.bpo_object = za.za_first_integer;
176 dmu_prefetch(dl->dl_os, dle->dle_bpobj.bpo_object,
179 avl_add(&dl->dl_tree, dle);
184 for (dsl_deadlist_entry_t *dle = avl_first(&dl->dl_tree);
185 dle != NULL; dle = AVL_NEXT(&dl->dl_tree, dle)) {
186 VERIFY0(bpobj_open(&dle->dle_bpobj, dl->dl_os,
187 dle->dle_bpobj.bpo_object));
269 dsl_deadlist_entry_t *dle;
271 while ((dle = avl_destroy_nodes(&dl->dl_tree, &cookie)) != NULL) {
272 bpobj_close(&dle->dle_bpobj);
273 kmem_free(dle, sizeof (*dle));
284 dsl_deadlist_entry_t *dle;
291 for (dle = avl_first(&dl->dl_tree); dle != NULL;
292 dle = AVL_NEXT(&dl->dl_tree, dle)) {
293 if (func(args, dle) != 0)
345 dsl_deadlist_entry_t *dle;
347 while ((dle = avl_destroy_nodes(&dl->dl_tree, &cookie))
349 bpobj_close(&dle->dle_bpobj);
350 kmem_free(dle, sizeof (*dle));
408 dle_enqueue(dsl_deadlist_t *dl, dsl_deadlist_entry_t *dle,
412 if (dle->dle_bpobj.bpo_object ==
415 bpobj_close(&dle->dle_bpobj);
417 VERIFY0(bpobj_open(&dle->dle_bpobj, dl->dl_os, obj));
419 dle->dle_mintxg, obj, tx));
421 bpobj_enqueue(&dle->dle_bpobj, bp, bp_freed, tx);
425 dle_enqueue_subobj(dsl_deadlist_t *dl, dsl_deadlist_entry_t *dle,
429 if (dle->dle_bpobj.bpo_object !=
431 bpobj_enqueue_subobj(&dle->dle_bpobj, obj, tx);
433 bpobj_close(&dle->dle_bpobj);
435 VERIFY0(bpobj_open(&dle->dle_bpobj, dl->dl_os, obj));
437 dle->dle_mintxg, obj, tx));
446 dsl_deadlist_entry_t *dle;
466 dle = avl_find(&dl->dl_tree, &dle_tofind, &where);
467 if (dle == NULL)
468 dle = avl_nearest(&dl->dl_tree, where, AVL_BEFORE);
470 dle = AVL_PREV(&dl->dl_tree, dle);
472 if (dle == NULL) {
475 dle = avl_first(&dl->dl_tree);
478 ASSERT3P(dle, !=, NULL);
479 dle_enqueue(dl, dle, bp, bp_freed, tx);
507 dsl_deadlist_entry_t *dle;
512 dle = kmem_alloc(sizeof (*dle), KM_SLEEP);
513 dle->dle_mintxg = mintxg;
519 VERIFY0(bpobj_open(&dle->dle_bpobj, dl->dl_os, obj));
520 avl_add(&dl->dl_tree, dle);
534 dsl_deadlist_entry_t *dle, *dle_prev;
542 dle = avl_find(&dl->dl_tree, &dle_tofind, NULL);
543 ASSERT3P(dle, !=, NULL);
544 dle_prev = AVL_PREV(&dl->dl_tree, dle);
546 dle_enqueue_subobj(dl, dle_prev, dle->dle_bpobj.bpo_object, tx);
548 avl_remove(&dl->dl_tree, dle);
549 bpobj_close(&dle->dle_bpobj);
550 kmem_free(dle, sizeof (*dle));
566 dsl_deadlist_entry_t *dle;
576 dle = avl_find(&dl->dl_tree, &dle_tofind, NULL);
577 VERIFY3P(dle, !=, NULL);
579 avl_remove(&dl->dl_tree, dle);
581 VERIFY0(bpobj_space(&dle->dle_bpobj, &used, &comp, &uncomp));
586 if (dle->dle_bpobj.bpo_object == dmu_objset_pool(os)->dp_empty_bpobj) {
589 bpobj_free(os, dle->dle_bpobj.bpo_object, tx);
591 bpobj_close(&dle->dle_bpobj);
592 kmem_free(dle, sizeof (*dle));
602 dsl_deadlist_clear_entry(dsl_deadlist_entry_t *dle, dsl_deadlist_t *dl,
609 VERIFY0(zap_remove_int(os, dl->dl_object, dle->dle_mintxg, tx));
610 VERIFY0(bpobj_space(&dle->dle_bpobj, &used, &comp, &uncomp));
615 if (dle->dle_bpobj.bpo_object == dmu_objset_pool(os)->dp_empty_bpobj)
618 bpobj_free(os, dle->dle_bpobj.bpo_object, tx);
619 bpobj_close(&dle->dle_bpobj);
621 VERIFY0(bpobj_open(&dle->dle_bpobj, os, new_obj));
622 VERIFY0(zap_add_int_key(os, dl->dl_object, dle->dle_mintxg,
624 ASSERT(bpobj_is_empty(&dle->dle_bpobj));
634 dsl_deadlist_entry_t *dle;
638 dle = avl_first(&dl->dl_tree);
641 return (dle);
650 dsl_deadlist_entry_t *dle;
654 dle = avl_last(&dl->dl_tree);
657 return (dle);
691 dsl_deadlist_entry_t *dle;
704 for (dle = avl_first(&dl->dl_tree); dle;
705 dle = AVL_NEXT(&dl->dl_tree, dle)) {
708 if (dle->dle_mintxg >= maxtxg)
713 dle->dle_mintxg, obj, tx));
787 dsl_deadlist_entry_t *dle;
806 dle = avl_find(&dl->dl_tree, &dle_tofind, &where);
807 if (dle == NULL)
808 dle = avl_nearest(&dl->dl_tree, where, AVL_BEFORE);
809 dle_enqueue_subobj(dl, dle, obj, tx);
871 dsl_deadlist_entry_t *dle;
881 dle = avl_find(&dl->dl_tree, &dle_tofind, &where);
882 if (dle == NULL)
883 dle = avl_nearest(&dl->dl_tree, where, AVL_AFTER);
884 while (dle) {
888 bpobj_enqueue_subobj(bpo, dle->dle_bpobj.bpo_object, tx);
890 VERIFY0(bpobj_space(&dle->dle_bpobj,
900 dle->dle_mintxg, tx));
902 dle_next = AVL_NEXT(&dl->dl_tree, dle);
903 avl_remove(&dl->dl_tree, dle);
904 bpobj_close(&dle->dle_bpobj);
905 kmem_free(dle, sizeof (*dle));
906 dle = dle_next;