mirror of
https://github.com/versity/scoutfs.git
synced 2026-02-10 12:40:09 +00:00
Convert the segment allocator to store its free region bitmaps in the btree. This is a very straight forward mechanical transformation. We split the allocator region into a big-endian index key and the bitmap value payload. We're careful to operate on aligned copies of the bitmaps so that they're long aligned. We can remove all the funky functions that were needed when writing the ring. All we're left with is a call to apply the pending allocations to dirty btree blocks before writing the btree. Signed-off-by: Zach Brown <zab@versity.com>
16 lines
420 B
C
16 lines
420 B
C
#ifndef _SCOUTFS_ALLOC_H_
|
|
#define _SCOUTFS_ALLOC_H_
|
|
|
|
struct scoutfs_alloc_region;
|
|
|
|
int scoutfs_alloc_segno(struct super_block *sb, u64 *segno);
|
|
int scoutfs_alloc_free(struct super_block *sb, u64 segno);
|
|
|
|
int scoutfs_alloc_apply_pending(struct super_block *sb);
|
|
u64 scoutfs_alloc_bfree(struct super_block *sb);
|
|
|
|
int scoutfs_alloc_setup(struct super_block *sb);
|
|
void scoutfs_alloc_destroy(struct super_block *sb);
|
|
|
|
#endif
|