Lines Matching refs:scan

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