* [PATCH] resize2fs: Make minimum size estimates more reliable for mounted fs
@ 2019-10-18 12:50 Jan Kara
2019-11-10 13:14 ` Theodore Y. Ts'o
0 siblings, 1 reply; 2+ messages in thread
From: Jan Kara @ 2019-10-18 12:50 UTC (permalink / raw)
To: Ted Tso; +Cc: linux-ext4, Jan Kara
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>
---
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] resize2fs: Make minimum size estimates more reliable for mounted fs
2019-10-18 12:50 [PATCH] resize2fs: Make minimum size estimates more reliable for mounted fs Jan Kara
@ 2019-11-10 13:14 ` Theodore Y. Ts'o
0 siblings, 0 replies; 2+ messages in thread
From: Theodore Y. Ts'o @ 2019-11-10 13:14 UTC (permalink / raw)
To: Jan Kara; +Cc: linux-ext4
On Fri, Oct 18, 2019 at 02:50:59PM +0200, Jan Kara wrote:
> 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>
Thanks, applied.
- Ted
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-11-10 13:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-18 12:50 [PATCH] resize2fs: Make minimum size estimates more reliable for mounted fs Jan Kara
2019-11-10 13:14 ` Theodore Y. Ts'o
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).