resize2fs: don't try to resize below calculated minimum

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>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
bitmap-optimize
Eric Sandeen 2009-05-18 17:11:28 -05:00 committed by Theodore Ts'o
parent 69f7c80eaf
commit 0d04d88a8d
1 changed files with 9 additions and 1 deletions

View File

@ -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,