Lines Matching refs:bl

161 	blist_t bl;
175 bl = malloc(sizeof(struct blist), M_SWAP, flags | M_ZERO);
177 bl->bl_blocks = blocks;
178 bl->bl_radix = radix;
179 bl->bl_skip = skip;
180 bl->bl_rootblks = 1 +
181 blst_radix_init(NULL, bl->bl_radix, bl->bl_skip, blocks);
182 bl->bl_root = malloc(sizeof(blmeta_t) * bl->bl_rootblks, M_SWAP, flags);
188 (long long)bl->bl_blocks,
189 (long long)bl->bl_blocks * 4 / 1024,
190 (long long)(bl->bl_rootblks * sizeof(blmeta_t) + 1023) / 1024
193 (long long)bl->bl_rootblks);
195 blst_radix_init(bl->bl_root, bl->bl_radix, bl->bl_skip, blocks);
197 return(bl);
201 blist_destroy(blist_t bl)
203 free(bl->bl_root, M_SWAP);
204 free(bl, M_SWAP);
214 blist_alloc(blist_t bl, daddr_t count)
218 if (bl) {
219 if (bl->bl_radix == BLIST_BMAP_RADIX)
220 blk = blst_leaf_alloc(bl->bl_root, 0, count);
222 blk = blst_meta_alloc(bl->bl_root, 0, count, bl->bl_radix, bl->bl_skip);
224 bl->bl_free -= count;
236 blist_free(blist_t bl, daddr_t blkno, daddr_t count)
238 if (bl) {
239 if (bl->bl_radix == BLIST_BMAP_RADIX)
240 blst_leaf_free(bl->bl_root, blkno, count);
242 blst_meta_free(bl->bl_root, blkno, count, bl->bl_radix, bl->bl_skip, 0);
243 bl->bl_free += count;
255 blist_fill(blist_t bl, daddr_t blkno, daddr_t count)
259 if (bl) {
260 if (bl->bl_radix == BLIST_BMAP_RADIX)
261 filled = blst_leaf_fill(bl->bl_root, blkno, count);
263 filled = blst_meta_fill(bl->bl_root, blkno, count,
264 bl->bl_radix, bl->bl_skip, 0);
265 bl->bl_free -= filled;
306 blist_print(blist_t bl)
309 blst_radix_print(bl->bl_root, 0, bl->bl_radix, bl->bl_skip, 4);
1002 blist_t bl;
1014 bl = blist_create(size, M_WAITOK);
1015 blist_free(bl, 0, size);
1023 printf("%lld/%lld/%lld> ", (long long)bl->bl_free,
1024 (long long)size, (long long)bl->bl_radix);
1031 blist_resize(&bl, count, 1);
1036 blist_print(bl);
1040 daddr_t blk = blist_alloc(bl, count);
1049 blist_free(bl, da, count);
1058 blist_fill(bl, da, count));