Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP1:GA
e2fsprogs.23992
resize2fs-Make-minimum-size-estimates-more-reli...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File resize2fs-Make-minimum-size-estimates-more-reliable.patch of Package e2fsprogs.23992
From 1c580154d4e1ae3b4f13cf58a85f8a5ae792fbfc Mon Sep 17 00:00:00 2001 From: Jan Kara <jack@suse.cz> Date: Fri, 18 Oct 2019 14:41:10 +0200 Subject: [PATCH] resize2fs: Make minimum size estimates more reliable for mounted fs References: bsc#1154295 Currently, the estimate of minimum filesystem size is using free blocks counter in the superblock. The counter generally doesn't get updated while the filesystem is mounted and thus the estimate is very unreliable for a mounted filesystem. For some usecases such as automated partitioning proposal to the user it is desirable that the estimate of minimum filesystem size is reasonably accurate even for a mounted filesystem. So use group descriptor counters of free blocks for the estimate of minimum filesystem size. These get updated together with block being allocated and so the resulting estimate is more accurate. Signed-off-by: Jan Kara <jack@suse.cz> Acked-by: Jan Kara <jack@suse.cz> --- resize/resize2fs.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resize/resize2fs.c b/resize/resize2fs.c index c2e10471bfd1..8a3d08db19f3 100644 --- a/resize/resize2fs.c +++ b/resize/resize2fs.c @@ -2926,11 +2926,11 @@ blk64_t calculate_minimum_resize_size(ext2_filsys fs, int flags) fs->super->s_reserved_gdt_blocks; /* calculate how many blocks are needed for data */ - data_needed = ext2fs_blocks_count(fs->super) - - ext2fs_free_blocks_count(fs->super); - - for (grp = 0; grp < fs->group_desc_count; grp++) + data_needed = ext2fs_blocks_count(fs->super); + for (grp = 0; grp < fs->group_desc_count; grp++) { data_needed -= calc_group_overhead(fs, grp, old_desc_blocks); + data_needed -= ext2fs_bg_free_blocks_count(fs, grp); + } #ifdef RESIZE2FS_DEBUG if (flags & RESIZE_DEBUG_MIN_CALC) printf("fs requires %llu data blocks.\n", data_needed); -- 2.16.4
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor