Whamcloud - gitweb
git://git.whamcloud.com
/
tools
/
e2fsprogs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
Change the xattr entry hash to use an unsighed char by default
[tools/e2fsprogs.git]
/
lib
/
ext2fs
/
alloc_sb.c
diff --git
a/lib/ext2fs/alloc_sb.c
b/lib/ext2fs/alloc_sb.c
index
0d1c000
..
8530b40
100644
(file)
--- a/
lib/ext2fs/alloc_sb.c
+++ b/
lib/ext2fs/alloc_sb.c
@@
-47,12
+47,12
@@
int ext2fs_reserve_super_and_bgd(ext2_filsys fs,
{
blk64_t super_blk, old_desc_blk, new_desc_blk;
blk_t used_blks;
- int
j,
old_desc_blocks, num_blocks;
+ int old_desc_blocks, num_blocks;
ext2fs_super_and_bgd_loc2(fs, group, &super_blk,
&old_desc_blk, &new_desc_blk, &used_blks);
- if (
fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG
)
+ if (
ext2fs_has_feature_meta_bg(fs->super)
)
old_desc_blocks = fs->super->s_first_meta_bg;
else
old_desc_blocks =
@@
-65,12
+65,11
@@
int ext2fs_reserve_super_and_bgd(ext2_filsys fs,
ext2fs_mark_block_bitmap2(bmap, 0);
if (old_desc_blk) {
- if (fs->super->s_reserved_gdt_blocks && fs->block_map == bmap)
- ext2fs_bg_flags_clear(fs, group, EXT2_BG_BLOCK_UNINIT);
- for (j=0; j < old_desc_blocks; j++)
- if (old_desc_blk + j < ext2fs_blocks_count(fs->super))
- ext2fs_mark_block_bitmap2(bmap,
- old_desc_blk + j);
+ num_blocks = old_desc_blocks;
+ if (old_desc_blk + num_blocks >= ext2fs_blocks_count(fs->super))
+ num_blocks = ext2fs_blocks_count(fs->super) -
+ old_desc_blk;
+ ext2fs_mark_block_bitmap_range2(bmap, old_desc_blk, num_blocks);
}
if (new_desc_blk)
ext2fs_mark_block_bitmap2(bmap, new_desc_blk);