Lines Matching refs:scan
125 static daddr_t blst_leaf_alloc(blmeta_t *scan, daddr_t blk, int count);
126 static daddr_t blst_meta_alloc(blmeta_t *scan, daddr_t blk,
128 static void blst_leaf_free(blmeta_t *scan, daddr_t relblk, int count);
129 static void blst_meta_free(blmeta_t *scan, daddr_t freeBlk, daddr_t count,
131 static void blst_copy(blmeta_t *scan, daddr_t blk, daddr_t radix,
133 static int blst_leaf_fill(blmeta_t *scan, daddr_t blk, int count);
134 static int blst_meta_fill(blmeta_t *scan, daddr_t allocBlk, daddr_t count,
136 static daddr_t blst_radix_init(blmeta_t *scan, daddr_t radix,
139 static void blst_radix_print(blmeta_t *scan, daddr_t blk,
336 blmeta_t *scan, in blst_leaf_alloc() argument
340 u_daddr_t orig = scan->u.bmu_bitmap; in blst_leaf_alloc()
348 scan->bm_bighint = 0; in blst_leaf_alloc()
369 scan->u.bmu_bitmap &= ~(1 << r); in blst_leaf_alloc()
388 scan->u.bmu_bitmap &= ~mask; in blst_leaf_alloc()
397 scan->bm_bighint = count - 1; in blst_leaf_alloc()
412 blmeta_t *scan, in blst_meta_alloc() argument
421 if (scan->u.bmu_avail == 0) { in blst_meta_alloc()
425 scan->bm_bighint = count; in blst_meta_alloc()
429 if (scan->u.bmu_avail == radix) { in blst_meta_alloc()
437 if (scan[i].bm_bighint == (daddr_t)-1) in blst_meta_alloc()
440 scan[i].u.bmu_bitmap = (u_daddr_t)-1; in blst_meta_alloc()
441 scan[i].bm_bighint = BLIST_BMAP_RADIX; in blst_meta_alloc()
443 scan[i].bm_bighint = radix; in blst_meta_alloc()
444 scan[i].u.bmu_avail = radix; in blst_meta_alloc()
452 if (count <= scan[i].bm_bighint) { in blst_meta_alloc()
458 r = blst_leaf_alloc(&scan[i], blk, count); in blst_meta_alloc()
460 r = blst_meta_alloc(&scan[i], blk, count, radix, next_skip - 1); in blst_meta_alloc()
463 scan->u.bmu_avail -= count; in blst_meta_alloc()
464 if (scan->bm_bighint > scan->u.bmu_avail) in blst_meta_alloc()
465 scan->bm_bighint = scan->u.bmu_avail; in blst_meta_alloc()
468 } else if (scan[i].bm_bighint == (daddr_t)-1) { in blst_meta_alloc()
486 if (scan->bm_bighint >= count) in blst_meta_alloc()
487 scan->bm_bighint = count - 1; in blst_meta_alloc()
498 blmeta_t *scan, in blst_leaf_free() argument
516 if (scan->u.bmu_bitmap & mask) in blst_leaf_free()
518 scan->u.bmu_bitmap |= mask; in blst_leaf_free()
526 scan->bm_bighint = BLIST_BMAP_RADIX; in blst_leaf_free()
542 blmeta_t *scan, in blst_meta_free() argument
559 if (scan->u.bmu_avail == 0) { in blst_meta_free()
564 scan->u.bmu_avail = count; in blst_meta_free()
565 scan->bm_bighint = count; in blst_meta_free()
569 if (scan[i].bm_bighint == (daddr_t)-1) in blst_meta_free()
571 scan[i].bm_bighint = 0; in blst_meta_free()
573 scan[i].u.bmu_bitmap = 0; in blst_meta_free()
575 scan[i].u.bmu_avail = 0; in blst_meta_free()
581 scan->u.bmu_avail += count; in blst_meta_free()
589 if (scan->u.bmu_avail == radix) in blst_meta_free()
591 if (scan->u.bmu_avail > radix) in blst_meta_free()
593 (long long)count, (long long)scan->u.bmu_avail, in blst_meta_free()
613 if (scan->bm_bighint == (daddr_t)-1) in blst_meta_free()
617 blst_leaf_free(&scan[i], freeBlk, v); in blst_meta_free()
619 blst_meta_free(&scan[i], freeBlk, v, radix, next_skip - 1, blk); in blst_meta_free()
621 if (scan->bm_bighint < scan[i].bm_bighint) in blst_meta_free()
622 scan->bm_bighint = scan[i].bm_bighint; in blst_meta_free()
638 blmeta_t *scan, in blst_copy() argument
653 u_daddr_t v = scan->u.bmu_bitmap; in blst_copy()
672 if (scan->u.bmu_avail == 0) { in blst_copy()
678 if (scan->u.bmu_avail == radix) { in blst_copy()
694 if (scan[i].bm_bighint == (daddr_t)-1) in blst_copy()
699 &scan[i], in blst_copy()
710 &scan[i], in blst_copy()
733 blst_leaf_fill(blmeta_t *scan, daddr_t blk, int count) in blst_leaf_fill() argument
743 bitmap = scan->u.bmu_bitmap & mask; in blst_leaf_fill()
747 scan->u.bmu_bitmap &= ~mask; in blst_leaf_fill()
761 blmeta_t *scan, in blst_meta_fill() argument
772 if (count == radix || scan->u.bmu_avail == 0) { in blst_meta_fill()
776 nblks = scan->u.bmu_avail; in blst_meta_fill()
777 scan->u.bmu_avail = 0; in blst_meta_fill()
778 scan->bm_bighint = count; in blst_meta_fill()
782 if (scan->u.bmu_avail == radix) { in blst_meta_fill()
789 if (scan[i].bm_bighint == (daddr_t)-1) in blst_meta_fill()
792 scan[i].u.bmu_bitmap = (u_daddr_t)-1; in blst_meta_fill()
793 scan[i].bm_bighint = BLIST_BMAP_RADIX; in blst_meta_fill()
795 scan[i].bm_bighint = radix; in blst_meta_fill()
796 scan[i].u.bmu_avail = radix; in blst_meta_fill()
817 if (scan->bm_bighint == (daddr_t)-1) in blst_meta_fill()
821 nblks += blst_leaf_fill(&scan[i], allocBlk, v); in blst_meta_fill()
823 nblks += blst_meta_fill(&scan[i], allocBlk, v, in blst_meta_fill()
831 scan->u.bmu_avail -= nblks; in blst_meta_fill()
845 blst_radix_init(blmeta_t *scan, daddr_t radix, int skip, daddr_t count) in blst_radix_init() argument
856 if (scan) { in blst_radix_init()
857 scan->bm_bighint = 0; in blst_radix_init()
858 scan->u.bmu_bitmap = 0; in blst_radix_init()
869 if (scan) { in blst_radix_init()
870 scan->bm_bighint = 0; in blst_radix_init()
871 scan->u.bmu_avail = 0; in blst_radix_init()
883 ((scan) ? &scan[i] : NULL), in blst_radix_init()
894 ((scan) ? &scan[i] : NULL), in blst_radix_init()
904 if (scan) in blst_radix_init()
905 scan[i].bm_bighint = (daddr_t)-1; in blst_radix_init()
917 blst_radix_print(blmeta_t *scan, daddr_t blk, daddr_t radix, int skip, int tab) in blst_radix_print() argument
928 (long long)scan->u.bmu_bitmap, in blst_radix_print()
929 (long long)scan->bm_bighint in blst_radix_print()
934 if (scan->u.bmu_avail == 0) { in blst_radix_print()
943 if (scan->u.bmu_avail == radix) { in blst_radix_print()
957 (long long)scan->u.bmu_avail, in blst_radix_print()
959 (long long)scan->bm_bighint in blst_radix_print()
967 if (scan[i].bm_bighint == (daddr_t)-1) { in blst_radix_print()
977 &scan[i], in blst_radix_print()