[PATCH 2/2] utils.c: offer to limit divisions in pretty_sizes
From: Pierre Carrier <hidden>
Date: 2012-07-09 17:30:26
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Pierre Carrier <hidden>
Date: 2012-07-09 17:30:26
Subsystem:
the rest · Maintainer:
Linus Torvalds
Dirty hack to allow inspection of sizes in lower units.
Useful to know the minimum size a partition shoud be resized to
after a 'btrfs filesystem resize'.
Label: 'home' uuid: 10453c4c-1c5b-4df5-b4a5-43a7f377430a
Total devices 1 FS bytes used 42.80GB
devid 1 size 62.16GB used 62.16GB path /dev/sda5
Label: 'home' uuid: 10453c4c-1c5b-4df5-b4a5-43a7f377430a
Total devices 1 FS bytes used 44884524.00KB
devid 1 size 65182236.00KB used 65182208.00KB path /dev/sda5
Signed-off-by: Pierre Carrier <redacted>
diff --git a/utils.c b/utils.c
index 937e763..3f0b7e7 100644
--- a/utils.c
+++ b/utils.c@@ -1096,13 +1096,18 @@ static char *size_strs[] = { "", "KB", "MB", "GB", "TB", char *pretty_sizes(u64 size) { int num_divs = 0; + int max_divs = INT_MAX; int pretty_len = 16; u64 last_size = size; u64 fract_size = size; float fraction; char *pretty; + char *max_divs_s; - while(size > 0) { + if (max_divs_s = getenv("MAX_DIVS")) + max_divs = atoi(max_divs_s); + + while(size > 0 && num_divs <= max_divs) { fract_size = last_size; last_size = size; size /= 1024;
@@ -1117,7 +1122,6 @@ char *pretty_sizes(u64 size) if (num_divs > ARRAY_SIZE(size_strs)) return NULL; - pretty = malloc(pretty_len); if (!pretty) return NULL;
--
1.7.11.1