* [PATCH 0/1] I want to add percent to output used/maximum files and blocks @ 2023-04-23 8:23 Oscar Megia López 2023-04-23 8:23 ` [PATCH 1/1] e2fsck: Add percent to files and blocks feature Oscar Megia López 0 siblings, 1 reply; 5+ messages in thread From: Oscar Megia López @ 2023-04-23 8:23 UTC (permalink / raw) To: linux-ext4; +Cc: Oscar Megia López I think this is good information because numbers alone are not enough for people. I check that the denominator is zero for safety, may never be zero, but I prefer to check. Same for copying in char pointers. I prefer to use snprintf, than sprintf or strcpy, because this way it won't never overrun the pointer size. My experience says that there is to check all possibilities, even if I think that never will happen (error free). Oscar Megia López (1): e2fsck: Add percent to files and blocks feature e2fsck/unix.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) base-commit: 25ad8a431331b4d1d444a70b6079456cc612ac40 -- 2.40.0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/1] e2fsck: Add percent to files and blocks feature 2023-04-23 8:23 [PATCH 0/1] I want to add percent to output used/maximum files and blocks Oscar Megia López @ 2023-04-23 8:23 ` Oscar Megia López 2023-07-26 16:15 ` Andreas Dilger [not found] ` <73bfa972-1f3a-3a74-c511-4255eae91806@web.de> 0 siblings, 2 replies; 5+ messages in thread From: Oscar Megia López @ 2023-04-23 8:23 UTC (permalink / raw) To: linux-ext4; +Cc: Oscar Megia López I need percentages to see how disk is occupied. Used and maximum are good, but humans work better with percentages. When my linux boots, I haven't enough time to remember numbers and calculate. My PC is very fast. I can only see the message for one or two seconds. If also I would see percentages for me would be perfect. I think that this feature is going to be good for everyone. Signed-off-by: Oscar Megia López <megia.oscar@gmail.com> --- e2fsck/unix.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/e2fsck/unix.c b/e2fsck/unix.c index e5b672a2..b820ca8d 100644 --- a/e2fsck/unix.c +++ b/e2fsck/unix.c @@ -350,6 +350,8 @@ static void check_if_skip(e2fsck_t ctx) int defer_check_on_battery; int broken_system_clock; time_t lastcheck; + char percent_files[9]; + char percent_blocks[9]; if (ctx->flags & E2F_FLAG_PROBLEMS_FIXED) return; @@ -442,14 +444,33 @@ static void check_if_skip(e2fsck_t ctx) ext2fs_mark_super_dirty(fs); } + /* Calculate percentages */ + if (fs->super->s_inodes_count > 0) { + snprintf(percent_files, sizeof(percent_files), " (%u%%) ", + ((fs->super->s_inodes_count - fs->super->s_free_inodes_count) * 100) / + fs->super->s_inodes_count); + } else { + snprintf(percent_files, sizeof(percent_files), " "); + } + + if (ext2fs_blocks_count(fs->super) > 0) { + snprintf(percent_blocks, sizeof(percent_blocks), " (%llu%%) ", + (unsigned long long) ((ext2fs_blocks_count(fs->super) - + ext2fs_free_blocks_count(fs->super)) * 100) / ext2fs_blocks_count(fs->super)); + } else { + snprintf(percent_blocks, sizeof(percent_blocks), " "); + } + /* Print the summary message when we're skipping a full check */ - log_out(ctx, _("%s: clean, %u/%u files, %llu/%llu blocks"), + log_out(ctx, _("%s: clean, %u/%u%sfiles, %llu/%llu%sblocks"), ctx->device_name, fs->super->s_inodes_count - fs->super->s_free_inodes_count, fs->super->s_inodes_count, + percent_files, (unsigned long long) ext2fs_blocks_count(fs->super) - ext2fs_free_blocks_count(fs->super), - (unsigned long long) ext2fs_blocks_count(fs->super)); + (unsigned long long) ext2fs_blocks_count(fs->super), + percent_blocks); next_check = 100000; if (fs->super->s_max_mnt_count > 0) { next_check = fs->super->s_max_mnt_count - fs->super->s_mnt_count; -- 2.40.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] e2fsck: Add percent to files and blocks feature 2023-04-23 8:23 ` [PATCH 1/1] e2fsck: Add percent to files and blocks feature Oscar Megia López @ 2023-07-26 16:15 ` Andreas Dilger 2023-07-27 7:15 ` Oscar Megia López [not found] ` <73bfa972-1f3a-3a74-c511-4255eae91806@web.de> 1 sibling, 1 reply; 5+ messages in thread From: Andreas Dilger @ 2023-07-26 16:15 UTC (permalink / raw) To: Oscar Megia López; +Cc: linux-ext4 On Apr 23, 2023, at 02:25, Oscar Megia López <megia.oscar@gmail.com> wrote: > > I need percentages to see how disk is occupied. > Used and maximum are good, but humans work better with percentages. > > When my linux boots, > I haven't enough time to remember numbers and calculate. > > My PC is very fast. I can only see the message for one or two seconds. > > If also I would see percentages for me would be perfect. > > I think that this feature is going to be good for everyone. > > Signed-off-by: Oscar Megia López <megia.oscar@gmail.com> > --- > e2fsck/unix.c | 25 +++++++++++++++++++++++-- > 1 file changed, 23 insertions(+), 2 deletions(-) > > diff --git a/e2fsck/unix.c b/e2fsck/unix.c > index e5b672a2..b820ca8d 100644 > --- a/e2fsck/unix.c > +++ b/e2fsck/unix.c > @@ -350,6 +350,8 @@ static void check_if_skip(e2fsck_t ctx) > int defer_check_on_battery; > int broken_system_clock; > time_t lastcheck; > + char percent_files[9]; > + char percent_blocks[9]; > > if (ctx->flags & E2F_FLAG_PROBLEMS_FIXED) > return; > @@ -442,14 +444,33 @@ static void check_if_skip(e2fsck_t ctx) > ext2fs_mark_super_dirty(fs); > } > > + /* Calculate percentages */ > + if (fs->super->s_inodes_count > 0) { > + snprintf(percent_files, sizeof(percent_files), " (%u%%) ", > + ((fs->super->s_inodes_count - fs->super->s_free_inodes_count) * 100) / > + fs->super->s_inodes_count); > + } else { > + snprintf(percent_files, sizeof(percent_files), " "); > + } Instead of snprintf() this could just be initialized at variable declaration time: char percent_files[8] = ""; That avoids extra runtime overhead and is no less safe. (This is adjusted to compensate for the format change below.) > + if (ext2fs_blocks_count(fs->super) > 0) { > + snprintf(percent_blocks, sizeof(percent_blocks), " (%llu%%) ", > + (unsigned long long) ((ext2fs_blocks_count(fs->super) - > + ext2fs_free_blocks_count(fs->super)) * 100) / ext2fs_blocks_count(fs->super)); > + } else { > + snprintf(percent_blocks, sizeof(percent_blocks), " "); > + } This could similarly be set at initialization: char percent_blocks[8] = ""; > /* Print the summary message when we're skipping a full check */ > - log_out(ctx, _("%s: clean, %u/%u files, %llu/%llu blocks"), > + log_out(ctx, _("%s: clean, %u/%u%sfiles, %llu/%llu%sblocks"), This would be more readable if it left one space after each "%s" and then didn't include the trailing space in each string: log_out(ctx, _("%s: clean, %u/%u%s files, %llu/%llu%s blocks"), Cheers, Andreas > ctx->device_name, > fs->super->s_inodes_count - fs->super->s_free_inodes_count, > fs->super->s_inodes_count, > + percent_files, > (unsigned long long) ext2fs_blocks_count(fs->super) - > ext2fs_free_blocks_count(fs->super), > - (unsigned long long) ext2fs_blocks_count(fs->super)); > + (unsigned long long) ext2fs_blocks_count(fs->super), > + percent_blocks); > next_check = 100000; > if (fs->super->s_max_mnt_count > 0) { > next_check = fs->super->s_max_mnt_count - fs->super->s_mnt_count; > -- > 2.40.0 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] e2fsck: Add percent to files and blocks feature 2023-07-26 16:15 ` Andreas Dilger @ 2023-07-27 7:15 ` Oscar Megia López 0 siblings, 0 replies; 5+ messages in thread From: Oscar Megia López @ 2023-07-27 7:15 UTC (permalink / raw) To: Andreas Dilger; +Cc: linux-ext4 Andreas Dilger <adilger@dilger.ca> writes: > On Apr 23, 2023, at 02:25, Oscar Megia López <megia.oscar@gmail.com> wrote: >> >> I need percentages to see how disk is occupied. >> Used and maximum are good, but humans work better with percentages. >> >> When my linux boots, >> I haven't enough time to remember numbers and calculate. >> >> My PC is very fast. I can only see the message for one or two seconds. >> >> If also I would see percentages for me would be perfect. >> >> I think that this feature is going to be good for everyone. >> >> Signed-off-by: Oscar Megia López <megia.oscar@gmail.com> >> --- >> e2fsck/unix.c | 25 +++++++++++++++++++++++-- >> 1 file changed, 23 insertions(+), 2 deletions(-) >> >> diff --git a/e2fsck/unix.c b/e2fsck/unix.c >> index e5b672a2..b820ca8d 100644 >> --- a/e2fsck/unix.c >> +++ b/e2fsck/unix.c >> @@ -350,6 +350,8 @@ static void check_if_skip(e2fsck_t ctx) >> int defer_check_on_battery; >> int broken_system_clock; >> time_t lastcheck; >> + char percent_files[9]; >> + char percent_blocks[9]; >> >> if (ctx->flags & E2F_FLAG_PROBLEMS_FIXED) >> return; >> @@ -442,14 +444,33 @@ static void check_if_skip(e2fsck_t ctx) >> ext2fs_mark_super_dirty(fs); >> } >> >> + /* Calculate percentages */ >> + if (fs->super->s_inodes_count > 0) { >> + snprintf(percent_files, sizeof(percent_files), " (%u%%) ", >> + ((fs->super->s_inodes_count - fs->super->s_free_inodes_count) * 100) / >> + fs->super->s_inodes_count); >> + } else { >> + snprintf(percent_files, sizeof(percent_files), " "); >> + } > > Instead of snprintf() this could just be initialized at variable declaration time: > > char percent_files[8] = ""; > > That avoids extra runtime overhead and is no less safe. (This is adjusted to compensate > for the format change below.) > Thanks for your advice, I will apply it. >> + if (ext2fs_blocks_count(fs->super) > 0) { >> + snprintf(percent_blocks, sizeof(percent_blocks), " (%llu%%) ", >> + (unsigned long long) ((ext2fs_blocks_count(fs->super) - >> + ext2fs_free_blocks_count(fs->super)) * 100) / ext2fs_blocks_count(fs->super)); >> + } else { >> + snprintf(percent_blocks, sizeof(percent_blocks), " "); >> + } > > This could similarly be set at initialization: > > char percent_blocks[8] = ""; > Thanks for your advice, I will apply it. >> /* Print the summary message when we're skipping a full check */ >> - log_out(ctx, _("%s: clean, %u/%u files, %llu/%llu blocks"), >> + log_out(ctx, _("%s: clean, %u/%u%sfiles, %llu/%llu%sblocks"), > > This would be more readable if it left one space after each "%s" and then didn't > include the trailing space in each string: > > log_out(ctx, _("%s: clean, %u/%u%s files, %llu/%llu%s blocks"), > You are right. I will apply it. > Cheers, Andreas > Very thanks Andreas for your advices and your time. I will apply these changes to my patch. Regards Oscar >> ctx->device_name, >> fs->super->s_inodes_count - fs->super->s_free_inodes_count, >> fs->super->s_inodes_count, >> + percent_files, >> (unsigned long long) ext2fs_blocks_count(fs->super) - >> ext2fs_free_blocks_count(fs->super), >> - (unsigned long long) ext2fs_blocks_count(fs->super)); >> + (unsigned long long) ext2fs_blocks_count(fs->super), >> + percent_blocks); >> next_check = 100000; >> if (fs->super->s_max_mnt_count > 0) { >> next_check = fs->super->s_max_mnt_count - fs->super->s_mnt_count; >> -- >> 2.40.0 >> ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <73bfa972-1f3a-3a74-c511-4255eae91806@web.de>]
* Re: [PATCH] e2fsck: Add percent to files and blocks feature [not found] ` <73bfa972-1f3a-3a74-c511-4255eae91806@web.de> @ 2023-07-28 7:05 ` Oscar Megia López 0 siblings, 0 replies; 5+ messages in thread From: Oscar Megia López @ 2023-07-28 7:05 UTC (permalink / raw) To: Markus Elfring; +Cc: linux-ext4, LKML, Andreas Dilger Markus Elfring <Markus.Elfring@web.de> writes: > You should put also the address "linux-kernel@vger.kernel.org" into > the message header field "Cc" (or "To"). > > See also: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.5-rc3#n231 > Sorry, I though that were different proyects. > >> I need percentages to see how disk is occupied. > > At which occasions do you tend to care for such numbers? > For example, when the root disk is almost full, I'd rather know than get system/application errors. It has happened to me and I think it is necessary information. > >> If also I would see percentages for me would be perfect. > > Where would you find such information more helpful? > Because on my computer it shows busy/full for one or two seconds and I don't have time to remember them, much less to calculate the occupancy percentage. Humans handle percentages much better than many numbers in a row (at least I do). Also when running e2fsck it is useful to see percentages. This is e2fsck with my patch: $ sudo e2fsck/e2fsck /dev/sdc5 e2fsck 1.47.0 (5-Feb-2023) label: clean, 405784/2449408 (16%) files, 6651303/9765625 (68%) blocks $ I think it is helpful to show the percentage. Only number of files/blocks and totals is not enought. > >> I think that this feature is going to be good for everyone. > > Will persuasion efforts grow accordingly? > Sorry, I don't understand what you mean. > > How do you think about to choose a corresponding imperative change suggestion? > Sorry I do not understand what you mean. If you want to say that my sentence "I think that this feature is going to be good for everyone." is to force the change, I'm sorry. It was just a comment to explain why I submitted the patch. If it was only useful to me, I would not have sent it. > See also: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.5-rc3#n94 > > Regards, > Markus -- Regards Oscar Megia López ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-07-28 7:05 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-23 8:23 [PATCH 0/1] I want to add percent to output used/maximum files and blocks Oscar Megia López
2023-04-23 8:23 ` [PATCH 1/1] e2fsck: Add percent to files and blocks feature Oscar Megia López
2023-07-26 16:15 ` Andreas Dilger
2023-07-27 7:15 ` Oscar Megia López
[not found] ` <73bfa972-1f3a-3a74-c511-4255eae91806@web.de>
2023-07-28 7:05 ` [PATCH] " Oscar Megia López
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).