calculate_minimum_resize_size() forgot to account s_first_data_block into minimum filesystem size. Thus in case the size of filesystem was such that the last group had the minimal size (50 blocks + metadata overhead), the code in adjust_fs_info() decided the group is unneeded, removed it, and in some cases the resizing then failed with ENOSPC. Fix the issue by properly accounting for s_first_data_block in calculate_minimum_resize_size(). Signed-off-by: Jan Kara <jack@xxxxxxx> --- resize/resize2fs.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/resize/resize2fs.c b/resize/resize2fs.c index 06ce73e..dc2805d 100644 --- a/resize/resize2fs.c +++ b/resize/resize2fs.c @@ -2033,6 +2033,7 @@ blk64_t calculate_minimum_resize_size(ext2_filsys fs) if (ext2fs_bg_has_super(fs, groups-1)) overhead += SUPER_OVERHEAD(fs); + overhead += fs->super->s_first_data_block; /* * since our last group doesn't have to be BLOCKS_PER_GROUP large, we -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html