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;
|
int fd, ret;
|
||||||
blk_t new_size = 0;
|
blk_t new_size = 0;
|
||||||
blk_t max_size = 0;
|
blk_t max_size = 0;
|
||||||
|
blk_t min_size = 0;
|
||||||
io_manager io_ptr;
|
io_manager io_ptr;
|
||||||
char *new_size_str = 0;
|
char *new_size_str = 0;
|
||||||
int use_stride = -1;
|
int use_stride = -1;
|
||||||
|
@ -341,9 +342,11 @@ int main (int argc, char ** argv)
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
min_size = calculate_minimum_resize_size(fs);
|
||||||
|
|
||||||
if (print_min_size) {
|
if (print_min_size) {
|
||||||
printf(_("Estimated minimum size of the filesystem: %u\n"),
|
printf(_("Estimated minimum size of the filesystem: %u\n"),
|
||||||
calculate_minimum_resize_size(fs));
|
min_size);
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -388,6 +391,11 @@ int main (int argc, char ** argv)
|
||||||
new_size &= ~((sys_page_size / fs->blocksize)-1);
|
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 >= 0) {
|
||||||
if (use_stride >= (int) fs->super->s_blocks_per_group) {
|
if (use_stride >= (int) fs->super->s_blocks_per_group) {
|
||||||
com_err(program_name, 0,
|
com_err(program_name, 0,
|
||||||
|
|
Loading…
Reference in New Issue