aboutsummaryrefslogtreecommitdiffstats
path: root/resize
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2014-07-26 09:45:19 -0400
committerTheodore Ts'o <tytso@mit.edu>2014-07-26 09:46:50 -0400
commit50972e1f7dd33955d1f23de8123dae235a65af44 (patch)
tree8aa2b837fed9d27e77bf62b5f8e30b299df4c558 /resize
parentbf191f274b89b431a11c3ac92a0e9521e1a49d2c (diff)
parenta30a4e93f3fd51d81687de82ab96e57a3694d71c (diff)
downloade2fsprogs-50972e1f7dd33955d1f23de8123dae235a65af44.tar.gz
Merge branch 'maint' into next
Conflicts: debugfs/debugfs.c e2fsck/pass5.c
Diffstat (limited to 'resize')
-rw-r--r--resize/main.c1
-rw-r--r--resize/resize2fs.c11
2 files changed, 6 insertions, 6 deletions
diff --git a/resize/main.c b/resize/main.c
index e4b44354d..ef2a810b7 100644
--- a/resize/main.c
+++ b/resize/main.c
@@ -318,6 +318,7 @@ int main (int argc, char ** argv)
printf("%s", _("Couldn't find valid filesystem superblock.\n"));
exit (1);
}
+ fs->default_bitmap_type = EXT2FS_BMAP64_RBTREE;
if (!(mount_flags & EXT2_MF_MOUNTED)) {
if (!force && ((fs->super->s_lastcheck < fs->super->s_mtime) ||
diff --git a/resize/resize2fs.c b/resize/resize2fs.c
index 546b1d853..ecde9ca71 100644
--- a/resize/resize2fs.c
+++ b/resize/resize2fs.c
@@ -435,8 +435,7 @@ retry:
fs->inode_map);
if (retval) goto errout;
- real_end = (((blk64_t) EXT2_BLOCKS_PER_GROUP(fs->super) *
- fs->group_desc_count)) - 1 +
+ real_end = EXT2_GROUPS_TO_BLOCKS(fs->super, fs->group_desc_count) - 1 +
fs->super->s_first_data_block;
retval = ext2fs_resize_block_bitmap2(new_size - 1,
real_end, fs->block_map);
@@ -2394,7 +2393,7 @@ blk64_t calculate_minimum_resize_size(ext2_filsys fs, int flags)
fs->super->s_free_inodes_count;
blks_needed = ext2fs_div_ceil(inode_count,
fs->super->s_inodes_per_group) *
- EXT2_BLOCKS_PER_GROUP(fs->super);
+ (blk64_t) EXT2_BLOCKS_PER_GROUP(fs->super);
groups = ext2fs_div64_ceil(blks_needed,
EXT2_BLOCKS_PER_GROUP(fs->super));
#ifdef RESIZE2FS_DEBUG
@@ -2441,7 +2440,7 @@ blk64_t calculate_minimum_resize_size(ext2_filsys fs, int flags)
* figure out how many data blocks we have given the number of groups
* we need for our inodes
*/
- data_blocks = groups * EXT2_BLOCKS_PER_GROUP(fs->super);
+ data_blocks = EXT2_GROUPS_TO_BLOCKS(fs->super, groups);
last_start = 0;
for (grp = 0; grp < flex_groups; grp++) {
overhead = calc_group_overhead(fs, grp, old_desc_blocks);
@@ -2479,7 +2478,7 @@ blk64_t calculate_minimum_resize_size(ext2_filsys fs, int flags)
extra_grps = ext2fs_div64_ceil(remainder,
EXT2_BLOCKS_PER_GROUP(fs->super));
- data_blocks += extra_grps * EXT2_BLOCKS_PER_GROUP(fs->super);
+ data_blocks += EXT2_GROUPS_TO_BLOCKS(fs->super, extra_grps);
/* ok we have to account for the last group */
overhead = calc_group_overhead(fs, groups-1, old_desc_blocks);
@@ -2577,7 +2576,7 @@ blk64_t calculate_minimum_resize_size(ext2_filsys fs, int flags)
* blocks needed to handle the group descriptor metadata+data
* that we need
*/
- blks_needed = (groups-1) * EXT2_BLOCKS_PER_GROUP(fs->super);
+ blks_needed = EXT2_GROUPS_TO_BLOCKS(fs->super, groups - 1);
blks_needed += overhead;
/*