static s64 logfs_get_free_bytes(struct logfs_area *area, size_t bytes) { s32 ofs; logfs_open_area(area, bytes); ofs = area->a_used_bytes; area->a_used_bytes += bytes; BUG_ON(area->a_used_bytes >= logfs_super(area->a_sb)->s_segsize); return dev_ofs(area->a_sb, area->a_segno, ofs); }
static s64 logfs_get_free_bytes(struct logfs_area *area, size_t *bytes, int must_pad) { u32 writesize = logfs_super(area->a_sb)->s_writesize; s32 ofs; int ret; ret = logfs_open_area(area, *bytes); if (ret) return -EAGAIN; ofs = area->a_used_bytes; area->a_used_bytes += *bytes; if (must_pad) { area->a_used_bytes = ALIGN(area->a_used_bytes, writesize); *bytes = area->a_used_bytes - ofs; } return dev_ofs(area->a_sb, area->a_segno, ofs); }