Lines Matching refs:bmap

64 			hammer2_bmap_data_t *bmap, uint16_t class,
365 hammer2_bmap_data_t *bmap; in hammer2_freemap_try_alloc() local
393 bmap = &chain->data->bmdata[n]; in hammer2_freemap_try_alloc()
397 } else if (bmap->avail) { in hammer2_freemap_try_alloc()
400 (bmap->linear & HAMMER2_FREEMAP_BLOCK_MASK)) { in hammer2_freemap_try_alloc()
412 (bmap->class == 0 || bmap->class == class || in hammer2_freemap_try_alloc()
415 error = hammer2_bmap_alloc(hmp, bmap, in hammer2_freemap_try_alloc()
437 bmap = &chain->data->bmdata[n]; in hammer2_freemap_try_alloc()
440 } else if (bmap->avail) { in hammer2_freemap_try_alloc()
443 (bmap->linear & HAMMER2_FREEMAP_BLOCK_MASK)) { in hammer2_freemap_try_alloc()
455 (bmap->class == 0 || bmap->class == class || in hammer2_freemap_try_alloc()
458 error = hammer2_bmap_alloc(hmp, bmap, in hammer2_freemap_try_alloc()
549 hammer2_bmap_alloc(hammer2_dev_t *hmp, hammer2_bmap_data_t *bmap, in hammer2_bmap_alloc() argument
595 if (((uint32_t)bmap->linear & HAMMER2_FREEMAP_BLOCK_MASK) + size <= in hammer2_bmap_alloc()
597 (bmap->linear & HAMMER2_FREEMAP_BLOCK_MASK) && in hammer2_bmap_alloc()
598 bmap->linear < HAMMER2_SEGSIZE) { in hammer2_bmap_alloc()
610 KKASSERT(bmap->linear >= 0 && in hammer2_bmap_alloc()
611 bmap->linear + size <= HAMMER2_SEGSIZE && in hammer2_bmap_alloc()
612 (bmap->linear & (HAMMER2_ALLOC_MIN - 1)) == 0); in hammer2_bmap_alloc()
613 offset = bmap->linear; in hammer2_bmap_alloc()
620 bmap->linear = offset + size; in hammer2_bmap_alloc()
664 if ((bmap->bitmapq[i] & bmmask) == 0) in hammer2_bmap_alloc()
680 if ((bmap->bitmapq[i] & bmmask) == 0) in hammer2_bmap_alloc()
692 bmap->linear = offset + size; in hammer2_bmap_alloc()
706 if ((bmap->bitmapq[i] & bmmask) == 0 && in hammer2_bmap_alloc()
724 *basep + offset, bmap->bitmapq[i], in hammer2_bmap_alloc()
728 if ((bmap->bitmapq[i] & pbmmask) == 0) { in hammer2_bmap_alloc()
749 if (bmap[-1].radix == 0 && bmap[-1].avail) in hammer2_bmap_alloc()
750 bmap[-1].radix = radix; in hammer2_bmap_alloc()
752 if (bmap[1].radix == 0 && bmap[1].avail) in hammer2_bmap_alloc()
753 bmap[1].radix = radix; in hammer2_bmap_alloc()
764 if (bmap->bitmapq[i] & bmmask) in hammer2_bmap_alloc()
782 bmap->bitmapq[i] |= bmmask; in hammer2_bmap_alloc()
783 if (bmap->class == 0) in hammer2_bmap_alloc()
784 bmap->class = class; in hammer2_bmap_alloc()
785 bmap->avail -= bgsize; in hammer2_bmap_alloc()
814 hammer2_bmap_data_t *bmap; in hammer2_freemap_init() local
858 bmap = &chain->data->bmdata[0]; in hammer2_freemap_init()
865 memset(bmap->bitmapq, -1, in hammer2_freemap_init()
866 sizeof(bmap->bitmapq)); in hammer2_freemap_init()
867 bmap->avail = 0; in hammer2_freemap_init()
868 bmap->linear = HAMMER2_SEGSIZE; in hammer2_freemap_init()
872 bmap->avail = HAMMER2_FREEMAP_LEVEL0_SIZE; in hammer2_freemap_init()
875 ++bmap; in hammer2_freemap_init()
931 hammer2_bmap_data_t *bmap; in hammer2_freemap_adjust() local
1079 bmap = &chain->data->bmdata[(int)(data_off >> HAMMER2_SEGRADIX) & in hammer2_freemap_adjust()
1081 bitmap = &bmap->bitmapq[(int)(data_off >> (HAMMER2_SEGRADIX - 3)) & 7]; in hammer2_freemap_adjust()
1084 bmap->linear = 0; in hammer2_freemap_adjust()
1099 bmap->avail -= in hammer2_freemap_adjust()
1103 if (bmap->class == 0) in hammer2_freemap_adjust()
1104 bmap->class = class; in hammer2_freemap_adjust()
1172 bmap->avail += 1 << radix; in hammer2_freemap_adjust()
1173 KKASSERT(bmap->avail <= HAMMER2_SEGSIZE); in hammer2_freemap_adjust()
1174 if (bmap->avail == HAMMER2_SEGSIZE && in hammer2_freemap_adjust()
1175 bmap->bitmapq[0] == 0 && in hammer2_freemap_adjust()
1176 bmap->bitmapq[1] == 0 && in hammer2_freemap_adjust()
1177 bmap->bitmapq[2] == 0 && in hammer2_freemap_adjust()
1178 bmap->bitmapq[3] == 0 && in hammer2_freemap_adjust()
1179 bmap->bitmapq[4] == 0 && in hammer2_freemap_adjust()
1180 bmap->bitmapq[5] == 0 && in hammer2_freemap_adjust()
1181 bmap->bitmapq[6] == 0 && in hammer2_freemap_adjust()
1182 bmap->bitmapq[7] == 0) { in hammer2_freemap_adjust()
1185 bmap->class = 0; in hammer2_freemap_adjust()