Thread (2 messages) 2 messages, 2 authors, 2012-02-15
STALE5339d

[PATCH] resize2fs: Calculate s_first_data_block into minimum filesystem size

From: Jan Kara <jack@suse.cz>
Date: 2011-12-08 14:09:12
Subsystem: the rest · Maintainer: Linus Torvalds

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@suse.cz>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help