summaryrefslogtreecommitdiff
path: root/resize/resize2fs.c
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@redhat.com>2011-09-16 09:21:53 -0400
committerTheodore Ts'o <tytso@mit.edu>2011-09-16 09:28:43 -0400
commit98f4547198b369bef7e41eb7ce4a16855726c393 (patch)
treebcc3905013eb56a8698060ca1c1d375286912e54 /resize/resize2fs.c
parent65b7a463da3b8f7ce0892be579f34ba4cf66456e (diff)
downloade2fsprogs-98f4547198b369bef7e41eb7ce4a16855726c393.tar.gz
e2fsprogs: add ext2fs_group_blocks_count helper
Code to count the number of blocks in the last partial group is cut and pasted around the e2fsprogs codebase a few times. Making this a helper function should improve matters. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'resize/resize2fs.c')
-rw-r--r--resize/resize2fs.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/resize/resize2fs.c b/resize/resize2fs.c
index 45ea5f42..59beb357 100644
--- a/resize/resize2fs.c
+++ b/resize/resize2fs.c
@@ -499,18 +499,10 @@ retry:
ext2fs_bg_flags_zap(fs, i);
if (csum_flag)
ext2fs_bg_flags_set(fs, i, EXT2_BG_INODE_UNINIT | EXT2_BG_INODE_ZEROED);
- if (i == fs->group_desc_count-1) {
- numblocks = (ext2fs_blocks_count(fs->super) -
- fs->super->s_first_data_block) %
- fs->super->s_blocks_per_group;
- if (!numblocks)
- numblocks = fs->super->s_blocks_per_group;
- } else {
- numblocks = fs->super->s_blocks_per_group;
- if (csum_flag)
- ext2fs_bg_flags_set(fs, i,
- EXT2_BG_BLOCK_UNINIT);
- }
+
+ numblocks = ext2fs_group_blocks_count(fs, i);
+ if ((i < fs->group_desc_count - 1) && csum_flag)
+ ext2fs_bg_flags_set(fs, i, EXT2_BG_BLOCK_UNINIT);
has_super = ext2fs_bg_has_super(fs, i);
if (has_super) {