[PATCH 0/2] Support for small units in display

2012-07-09 Thread Pierre Carrier
Allow better inspection of sizes using an environment variable.

Not pretty, but convenient to determine the exact size of a filesystem,
eg when resizing an underlying partition or LUN.

Pierre Carrier (2):
  utils.c: fix sizes in B  malloc in pretty_sizes
  utils.c: offer to limit divisions in pretty_sizes

 utils.c | 18 +++---
 1 file changed, 15 insertions(+), 3 deletions(-)

-- 
1.7.11.1

--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] utils.c: fix sizes in B malloc in pretty_sizes

2012-07-09 Thread Pierre Carrier
Before, sizes below 1KB where displayed in KB,
but without a unit.

Signed-off-by: Pierre Carrier pie...@spotify.com

diff --git a/utils.c b/utils.c
index aade9e2..dde0513 100644
--- a/utils.c
+++ b/utils.c
@@ -1108,13 +1108,20 @@ char *pretty_sizes(u64 size)
size /= 1024;
num_divs++;
}
-   if (num_divs == 0)
+   if (num_divs == 0) {
num_divs = 1;
+   fraction = (float)fract_size;
+   } else
+   fraction = (float)fract_size / 1024;
+
if (num_divs  ARRAY_SIZE(size_strs))
return NULL;
 
-   fraction = (float)fract_size / 1024;
+
pretty = malloc(pretty_len);
+   if (!pretty)
+   return NULL;
+
snprintf(pretty, pretty_len, %.2f%s, fraction, size_strs[num_divs-1]);
return pretty;
 }
-- 
1.7.11.1

--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 0/2] Support for small units in display

2012-07-09 Thread Pierre Carrier
I didn't test the initial patches enough.
A second round is coming.

This time it works fine:
devid1 size 66746609664.00 used 66746580992.00 path /dev/sda5
devid1 size 65182236.00KB used 65182208.00KB path /dev/sda5
devid1 size 63654.53MB used 63654.50MB path /dev/sda5
devid1 size 62.16GB used 62.16GB path /dev/sda5
devid1 size 62.16GB used 62.16GB path /dev/sda5


Pierre Carrier (2):
  utils.c: fix sizes in B  malloc in pretty_sizes
  utils.c: offer to limit divisions in pretty_sizes

 utils.c | 17 ++---
 1 file changed, 14 insertions(+), 3 deletions(-)

-- 
1.7.11.1

--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] utils.c: fix sizes in B malloc in pretty_sizes

2012-07-09 Thread Pierre Carrier
Before, sizes below 1KB are still displayed in KB,
but without a unit.

Signed-off-by: Pierre Carrier pie...@spotify.com

diff --git a/utils.c b/utils.c
index aade9e2..937e763 100644
--- a/utils.c
+++ b/utils.c
@@ -1108,13 +1108,20 @@ char *pretty_sizes(u64 size)
size /= 1024;
num_divs++;
}
-   if (num_divs == 0)
+   if (num_divs = 1) {
num_divs = 1;
+   fraction = (float)fract_size;
+   } else
+   fraction = (float)fract_size / 1024;
+
if (num_divs  ARRAY_SIZE(size_strs))
return NULL;
 
-   fraction = (float)fract_size / 1024;
+
pretty = malloc(pretty_len);
+   if (!pretty)
+   return NULL;
+
snprintf(pretty, pretty_len, %.2f%s, fraction, size_strs[num_divs-1]);
return pretty;
 }
-- 
1.7.11.1

--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/2] utils.c: offer to limit divisions in pretty_sizes

2012-07-09 Thread Pierre Carrier
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
devid1 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
devid1 size 65182236.00KB used 65182208.00KB path /dev/sda5

Signed-off-by: Pierre Carrier pie...@spotify.com

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

--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html