===================================================================
@@ -160,6 +160,7 @@ int main (int argc, char ** argv)
int fd, ret;
blk_t new_size = 0;
blk_t max_size = 0;
+ blk_t min_size = 0;
io_manager io_ptr;
char *new_size_str = 0;
int use_stride = -1;
@@ -341,9 +342,11 @@ int main (int argc, char ** argv)
exit(1);
}
+ min_size = calculate_minimum_resize_size(fs);
+
if (print_min_size) {
printf(_("Estimated minimum size of the filesystem: %u\n"),
- calculate_minimum_resize_size(fs));
+ min_size);
exit(0);
}
@@ -388,6 +391,11 @@ int main (int argc, char ** argv)
new_size &= ~((sys_page_size / fs->blocksize)-1);
}
+ if (!force && new_size < min_size) {
+ com_err(program_name, 0,
+ _("New size smaller than minimum (%u)\n"), min_size);
+ exit(1);
+ }
if (use_stride >= 0) {
if (use_stride >= (int) fs->super->s_blocks_per_group) {
com_err(program_name, 0,
Without a force flag, don't allow resize2fs to even start resizing below what it thinks the minimum safe value is. This may stop resizes which could otherwise proceed with a bit of space still left, but seems like a reasonably safe thing to do. Signed-off-by: Eric Sandeen <sandeen@redhat.com> --- (sorry, this should have been [PATCH 3/3] I guess, I did this too iteratively) -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html