Lines Matching defs:scan

73  *	set to -1) on the scan.  The memory allocation is only large enough 
152 static blist_blkno_t blst_leaf_alloc(blmeta_t *scan, blist_blkno_t blk,
154 static blist_blkno_t blst_meta_alloc(blmeta_t *scan, blist_blkno_t blk,
156 static void blst_leaf_free(blmeta_t *scan, blist_blkno_t relblk, int count);
157 static void blst_meta_free(blmeta_t *scan, blist_blkno_t freeBlk,
160 static void blst_copy(blmeta_t *scan, blist_blkno_t blk, blist_blkno_t radix,
162 static int blst_leaf_fill(blmeta_t *scan, blist_blkno_t blk, int count);
163 static blist_blkno_t blst_meta_fill(blmeta_t *scan, blist_blkno_t allocBlk,
166 static blist_blkno_t blst_radix_init(blmeta_t *scan, blist_blkno_t radix,
169 static void blst_radix_print(blmeta_t *scan, blist_blkno_t blk,
364 blmeta_t *scan,
368 blist_bitmap_t orig = scan->u.bmu_bitmap;
376 scan->bm_bighint = 0;
397 scan->u.bmu_bitmap &= ~((blist_bitmap_t)1 << r);
416 scan->u.bmu_bitmap &= ~mask;
425 scan->bm_bighint = count - 1;
440 blmeta_t *scan,
449 if (scan->u.bmu_avail == 0) {
453 scan->bm_bighint = count;
457 if (scan->u.bmu_avail == radix) {
465 if (scan[i].bm_bighint == (blist_blkno_t)-1)
468 scan[i].u.bmu_bitmap = (blist_bitmap_t)-1;
469 scan[i].bm_bighint = BLIST_BMAP_RADIX;
471 scan[i].bm_bighint = radix;
472 scan[i].u.bmu_avail = radix;
480 if (scan[i].bm_bighint == (blist_blkno_t)-1) {
485 } else if (count <= scan[i].bm_bighint) {
491 r = blst_leaf_alloc(&scan[i], blk, count);
493 r = blst_meta_alloc(&scan[i], blk, count, radix, next_skip - 1);
496 scan->u.bmu_avail -= count;
497 if (scan->bm_bighint > scan->u.bmu_avail)
498 scan->bm_bighint = scan->u.bmu_avail;
514 if (scan->bm_bighint >= count)
515 scan->bm_bighint = count - 1;
526 blmeta_t *scan,
544 if (scan->u.bmu_bitmap & mask)
546 scan->u.bmu_bitmap |= mask;
554 scan->bm_bighint = BLIST_BMAP_RADIX;
570 blmeta_t *scan,
588 if (scan->u.bmu_avail == 0) {
593 scan->u.bmu_avail = count;
594 scan->bm_bighint = count;
598 if (scan[i].bm_bighint == (blist_blkno_t)-1)
600 scan[i].bm_bighint = 0;
602 scan[i].u.bmu_bitmap = 0;
604 scan[i].u.bmu_avail = 0;
610 scan->u.bmu_avail += count;
611 /* scan->bm_bighint = radix; */
618 if (scan->u.bmu_avail == radix)
620 if (scan->u.bmu_avail > radix)
624 (uint64_t)scan->u.bmu_avail,
644 if (scan->bm_bighint == (blist_blkno_t)-1)
648 blst_leaf_free(&scan[i], freeBlk, v);
650 blst_meta_free(&scan[i], freeBlk, v, radix, next_skip - 1, blk);
652 if (scan->bm_bighint < scan[i].bm_bighint)
653 scan->bm_bighint = scan[i].bm_bighint;
669 blmeta_t *scan,
684 blist_bitmap_t v = scan->u.bmu_bitmap;
703 if (scan->u.bmu_avail == 0) {
709 if (scan->u.bmu_avail == radix) {
725 if (scan[i].bm_bighint == (blist_blkno_t)-1)
730 &scan[i],
741 &scan[i],
764 blst_leaf_fill(blmeta_t *scan, blist_blkno_t blk, int count)
774 bitmap = scan->u.bmu_bitmap & mask;
778 scan->u.bmu_bitmap &= ~mask;
792 blmeta_t *scan,
803 if (count == radix || scan->u.bmu_avail == 0) {
807 nblks = scan->u.bmu_avail;
808 scan->u.bmu_avail = 0;
809 scan->bm_bighint = count;
816 if (scan->u.bmu_avail == radix) {
823 if (scan[i].bm_bighint == (blist_blkno_t)-1)
826 scan[i].u.bmu_bitmap = (blist_bitmap_t)-1;
827 scan[i].bm_bighint = BLIST_BMAP_RADIX;
829 scan[i].bm_bighint = radix;
830 scan[i].u.bmu_avail = radix;
848 if (scan->bm_bighint == (blist_blkno_t)-1)
852 nblks += blst_leaf_fill(&scan[i], allocBlk, v);
854 nblks += blst_meta_fill(&scan[i], allocBlk, v,
862 scan->u.bmu_avail -= nblks;
876 blst_radix_init(blmeta_t *scan, blist_blkno_t radix, blist_blkno_t skip,
888 if (scan) {
889 scan->bm_bighint = 0;
890 scan->u.bmu_bitmap = 0;
901 if (scan) {
902 scan->bm_bighint = 0;
903 scan->u.bmu_avail = 0;
915 ((scan) ? &scan[i] : NULL),
926 ((scan) ? &scan[i] : NULL),
936 if (scan)
937 scan[i].bm_bighint = (blist_blkno_t)-1;
949 blst_radix_print(blmeta_t *scan, blist_blkno_t blk, blist_blkno_t radix,
964 sizeof(scan->u.bmu_bitmap) * 2,
965 (uint64_t)scan->u.bmu_bitmap,
966 (uint64_t)scan->bm_bighint
971 if (scan->u.bmu_avail == 0) {
981 if (scan->u.bmu_avail == radix) {
999 (uint64_t)scan->u.bmu_avail,
1001 (uint64_t)scan->bm_bighint
1009 if (scan[i].bm_bighint == (blist_blkno_t)-1) {
1021 &scan[i],