Lines Matching defs:bl
186 blist_t bl;
202 bl = kmem_zalloc(sizeof(struct blist), KM_SLEEP);
204 bl->bl_blocks = blocks;
205 bl->bl_radix = radix;
206 bl->bl_skip = skip;
207 bl->bl_rootblks = 1 +
208 blst_radix_init(NULL, bl->bl_radix, bl->bl_skip, blocks);
209 bl->bl_root = kmem_alloc(sizeof(blmeta_t) * bl->bl_rootblks, KM_SLEEP);
215 (uint64_t)bl->bl_blocks,
216 (uint64_t)bl->bl_blocks * 4 / 1024,
217 ((uint64_t)bl->bl_rootblks * sizeof(blmeta_t) + 1023) / 1024
220 (uint64_t)bl->bl_rootblks);
222 blst_radix_init(bl->bl_root, bl->bl_radix, bl->bl_skip, blocks);
224 return(bl);
228 blist_destroy(blist_t bl)
231 kmem_free(bl->bl_root, sizeof(blmeta_t) * bl->bl_rootblks);
232 kmem_free(bl, sizeof(struct blist));
242 blist_alloc(blist_t bl, blist_blkno_t count)
246 if (bl) {
247 if (bl->bl_radix == BLIST_BMAP_RADIX)
248 blk = blst_leaf_alloc(bl->bl_root, 0, count);
250 blk = blst_meta_alloc(bl->bl_root, 0, count, bl->bl_radix, bl->bl_skip);
252 bl->bl_free -= count;
264 blist_free(blist_t bl, blist_blkno_t blkno, blist_blkno_t count)
266 if (bl) {
267 if (bl->bl_radix == BLIST_BMAP_RADIX)
268 blst_leaf_free(bl->bl_root, blkno, count);
270 blst_meta_free(bl->bl_root, blkno, count, bl->bl_radix, bl->bl_skip, 0);
271 bl->bl_free += count;
283 blist_fill(blist_t bl, blist_blkno_t blkno, blist_blkno_t count)
287 if (bl) {
288 if (bl->bl_radix == BLIST_BMAP_RADIX)
289 filled = blst_leaf_fill(bl->bl_root, blkno, count);
291 filled = blst_meta_fill(bl->bl_root, blkno, count,
292 bl->bl_radix, bl->bl_skip, 0);
293 bl->bl_free -= filled;
334 blist_print(blist_t bl)
337 blst_radix_print(bl->bl_root, 0, bl->bl_radix, bl->bl_skip, 4);
1046 blist_t bl;
1058 bl = blist_create(size);
1059 blist_free(bl, 0, size);
1067 (uint64_t)bl->bl_free,
1069 (uint64_t)bl->bl_radix);
1076 blist_resize(&bl, count, 1);
1081 blist_print(bl);
1085 blist_blkno_t blk = blist_alloc(bl, count);
1096 blist_free(bl, da, count);
1105 (uint64_t)blist_fill(bl, da, count));