}
int
-ext2gd_take(struct v_superblock* vsb,
+ext2gd_take_at(struct v_superblock* vsb,
unsigned int index, struct ext2_gdesc** out)
{
bbuf_t part, buf;
.ino_base = index * ext2sb->raw->s_ino_per_grp
};
+ mutex_init(&gd->lock);
+
*out = gd;
if (!ext2sb->read_only) {
__ext2bmp_update_next_free_cell(e_bmp);
}
-bool
-ext2bmp_check_free(struct ext2_bmp* e_bmp)
-{
- assert(e_bmp->raw);
-
- return valid_bmp_slot(e_bmp->next_free);
-}
-
int
-ext2bmp_alloc_one(struct ext2_bmp* e_bmp)
+ext2bmp_alloc_nolock(struct ext2_bmp* e_bmp)
{
assert(e_bmp->raw);
}
void
-ext2bmp_free_one(struct ext2_bmp* e_bmp, unsigned int pos)
+ext2bmp_free_nolock(struct ext2_bmp* e_bmp, unsigned int pos)
{
assert(e_bmp->raw);
}
void
-ext2bmp_discard(struct ext2_bmp* e_bmp)
+ext2bmp_discard_nolock(struct ext2_bmp* e_bmp)
{
assert(e_bmp->raw);