Refactor fellow_busy_region_alloc(): alloc part and commit part

parent 196c4aad
......@@ -2174,7 +2174,7 @@ fellow_busy_obj_alloc(struct fellow_cache *fc,
static struct buddy_off_extent *
fellow_busy_region_alloc(struct fellow_busy *fbo, size_t size, int8_t cram)
{
struct buddy_off_extent *fdr;
struct buddy_off_extent *fdr, reg;
struct fellow_cache *fc;
CHECK_OBJ_NOTNULL(fbo, FELLOW_BUSY_MAGIC);
......@@ -2184,24 +2184,23 @@ fellow_busy_region_alloc(struct fellow_busy *fbo, size_t size, int8_t cram)
fc = fbo->fc;
CHECK_OBJ_NOTNULL(fc, FELLOW_CACHE_MAGIC);
assert(fbo->nregion < FCO_MAX_REGIONS);
fdr = &fbo->region[fbo->nregion];
if (cram)
FC_INJ_SZLIM(size);
*fdr = FC_INJ ? buddy_off_extent_nil :
reg = FC_INJ ? buddy_off_extent_nil :
buddy_alloc1_off_extent_wait(fellow_dskbuddy(fc->ffd),
FEP_SPC, size, cram);
if (fdr->off < 0) {
if (reg.off < 0) {
return (NULL);
}
AN(fdr->size);
AZ(fdr->size & FELLOW_BLOCK_ALIGN);
AN(reg.size);
AZ(reg.size & FELLOW_BLOCK_ALIGN);
fbo->nregion++;
assert(fbo->nregion < FCO_MAX_REGIONS);
fdr = &fbo->region[fbo->nregion++];
*fdr = reg;
return (fdr);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment