ea_refcount_free(ctx->refcount_extra);
ctx->refcount_extra = 0;
}
+ if (ctx->refcount_orig) {
+ ea_refcount_free(ctx->refcount_orig);
+ ctx->refcount_orig = 0;
+ }
if (ctx->ea_block_quota_blocks) {
ea_refcount_free(ctx->ea_block_quota_blocks);
ctx->ea_block_quota_blocks = 0;
fclose(thread_ctx->problem_logf);
}
+ quota_release_context(&thread_ctx->qctx);
/*
* @block_metadata_map and @block_dup_map are
* shared, so we don't free them.
dgrp_t i;
char *block_bitmap = 0, *inode_bitmap = 0;
char *buf;
- errcode_t retval;
+ errcode_t retval = 0;
int block_nbytes = EXT2_CLUSTERS_PER_GROUP(fs->super) / 8;
int inode_nbytes = EXT2_INODES_PER_GROUP(fs->super) / 8;
int tail_flags = 0;
success_cleanup:
if (start == 0 && end == fs->group_desc_count - 1) {
- if (inode_bitmap) {
- ext2fs_free_mem(&inode_bitmap);
+ if (inode_bitmap)
fs->flags &= ~EXT2_FLAG_IBITMAP_TAIL_PROBLEM;
- }
- if (block_bitmap) {
- ext2fs_free_mem(&block_bitmap);
+ if (block_bitmap)
fs->flags &= ~EXT2_FLAG_BBITMAP_TAIL_PROBLEM;
- }
}
fs->flags |= tail_flags;
- return 0;
-
cleanup:
if (inode_bitmap)
ext2fs_free_mem(&inode_bitmap);
ext2fs_free_mem(&block_bitmap);
if (buf)
ext2fs_free_mem(&buf);
- return retval;
+ return retval;
}
static errcode_t read_bitmaps_range_end(ext2_filsys fs, int do_inode, int do_block,