mirror of https://github.com/vitalif/e2fsprogs
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
parent
69f7c80eaf
commit
0d04d88a8d
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue