Re: [Libguestfs] [libnbd PATCH 2/2] info: Show human sizes for block_size values

2023-10-18 Thread Eric Blake
On Sun, Oct 08, 2023 at 11:34:05AM +0200, Laszlo Ersek wrote:
> On 10/7/23 11:27, Richard W.M. Jones wrote:
> > On Fri, Oct 06, 2023 at 10:18:09AM -0500, Eric Blake wrote:
> >> Adding a human-readable size for block constraints is useful.  For:
> >>
> >> $ ./run nbdinfo -- [ nbdkit memory \
> >>--filter=blocksize-policy blocksize-preferred=32k 1M ] | grep pref
> >>
> >> this changes pre-patch:
> >>block_size_preferred: 32768
> >> to post-patch:
> >>block_size_preferred: 32768 (32K)
> > 
> > I think info/nbdinfo.pod needs to be updated.
> 
> Good catch!
> 
> With that:
> 
> series
> Reviewed-by: Laszlo Ersek 

Fixed, and series pushed as 42a85181..d4e8bb2d

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org
___
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs



Re: [Libguestfs] [libnbd PATCH 2/2] info: Show human sizes for block_size values

2023-10-08 Thread Laszlo Ersek
On 10/7/23 11:27, Richard W.M. Jones wrote:
> On Fri, Oct 06, 2023 at 10:18:09AM -0500, Eric Blake wrote:
>> Adding a human-readable size for block constraints is useful.  For:
>>
>> $ ./run nbdinfo -- [ nbdkit memory \
>>--filter=blocksize-policy blocksize-preferred=32k 1M ] | grep pref
>>
>> this changes pre-patch:
>>  block_size_preferred: 32768
>> to post-patch:
>>  block_size_preferred: 32768 (32K)
> 
> I think info/nbdinfo.pod needs to be updated.

Good catch!

With that:

series
Reviewed-by: Laszlo Ersek 


> 
> Rich.
> 
>> Signed-off-by: Eric Blake 
>> ---
>>  info/show.c | 26 +++---
>>  1 file changed, 19 insertions(+), 7 deletions(-)
>>
>> diff --git a/info/show.c b/info/show.c
>> index 6aeffb54..ac483f34 100644
>> --- a/info/show.c
>> +++ b/info/show.c
>> @@ -35,6 +35,7 @@
>>  #include "nbdinfo.h"
>>
>>  static void show_boolean (const char *name, bool cond);
>> +static void show_size (const char *name, int64_t size);
>>  static int collect_context (void *opaque, const char *name);
>>  static char *get_content (struct nbd_handle *, int64_t size);
>>
>> @@ -181,13 +182,9 @@ show_one_export (struct nbd_handle *nbd, const char 
>> *desc,
>>show_boolean ("can_trim", can_trim);
>>  if (can_zero >= 0)
>>show_boolean ("can_zero", can_zero);
>> -if (block_minimum > 0)
>> -  fprintf (fp, "\t%s: %" PRId64 "\n", "block_size_minimum", 
>> block_minimum);
>> -if (block_preferred > 0)
>> -  fprintf (fp, "\t%s: %" PRId64 "\n", "block_size_preferred",
>> -   block_preferred);
>> -if (block_maximum > 0)
>> -  fprintf (fp, "\t%s: %" PRId64 "\n", "block_size_maximum", 
>> block_maximum);
>> +show_size ("block_size_minimum", block_minimum);
>> +show_size ("block_size_preferred", block_preferred);
>> +show_size ("block_size_maximum", block_maximum);
>>}
>>else {
>>  if (first)
>> @@ -304,6 +301,21 @@ show_boolean (const char *name, bool cond)
>>ansi_restore (fp);
>>  }
>>
>> +/* Used for displaying sizes in non-JSON output. */
>> +void show_size (const char *name, int64_t size)
>> +{
>> +  char size_str[HUMAN_SIZE_LONGEST];
>> +  bool human_size_flag = false;
>> +
>> +  if (size > 0) {
>> +human_size (size_str, size, _size_flag);
>> +if (human_size_flag)
>> +  fprintf (fp, "\t%s: %" PRId64 " (%s)\n", name, size, size_str);
>> +else
>> +  fprintf (fp, "\t%s: %" PRId64 "\n", name, size);
>> +  }
>> +}
>> +
>>  static int
>>  collect_context (void *opaque, const char *name)
>>  {
>> -- 
>> 2.41.0
>>
>> ___
>> Libguestfs mailing list
>> Libguestfs@redhat.com
>> https://listman.redhat.com/mailman/listinfo/libguestfs
> 

___
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs



Re: [Libguestfs] [libnbd PATCH 2/2] info: Show human sizes for block_size values

2023-10-07 Thread Richard W.M. Jones
On Fri, Oct 06, 2023 at 10:18:09AM -0500, Eric Blake wrote:
> Adding a human-readable size for block constraints is useful.  For:
> 
> $ ./run nbdinfo -- [ nbdkit memory \
>--filter=blocksize-policy blocksize-preferred=32k 1M ] | grep pref
> 
> this changes pre-patch:
>   block_size_preferred: 32768
> to post-patch:
>   block_size_preferred: 32768 (32K)

I think info/nbdinfo.pod needs to be updated.

Rich.

> Signed-off-by: Eric Blake 
> ---
>  info/show.c | 26 +++---
>  1 file changed, 19 insertions(+), 7 deletions(-)
> 
> diff --git a/info/show.c b/info/show.c
> index 6aeffb54..ac483f34 100644
> --- a/info/show.c
> +++ b/info/show.c
> @@ -35,6 +35,7 @@
>  #include "nbdinfo.h"
> 
>  static void show_boolean (const char *name, bool cond);
> +static void show_size (const char *name, int64_t size);
>  static int collect_context (void *opaque, const char *name);
>  static char *get_content (struct nbd_handle *, int64_t size);
> 
> @@ -181,13 +182,9 @@ show_one_export (struct nbd_handle *nbd, const char 
> *desc,
>show_boolean ("can_trim", can_trim);
>  if (can_zero >= 0)
>show_boolean ("can_zero", can_zero);
> -if (block_minimum > 0)
> -  fprintf (fp, "\t%s: %" PRId64 "\n", "block_size_minimum", 
> block_minimum);
> -if (block_preferred > 0)
> -  fprintf (fp, "\t%s: %" PRId64 "\n", "block_size_preferred",
> -   block_preferred);
> -if (block_maximum > 0)
> -  fprintf (fp, "\t%s: %" PRId64 "\n", "block_size_maximum", 
> block_maximum);
> +show_size ("block_size_minimum", block_minimum);
> +show_size ("block_size_preferred", block_preferred);
> +show_size ("block_size_maximum", block_maximum);
>}
>else {
>  if (first)
> @@ -304,6 +301,21 @@ show_boolean (const char *name, bool cond)
>ansi_restore (fp);
>  }
> 
> +/* Used for displaying sizes in non-JSON output. */
> +void show_size (const char *name, int64_t size)
> +{
> +  char size_str[HUMAN_SIZE_LONGEST];
> +  bool human_size_flag = false;
> +
> +  if (size > 0) {
> +human_size (size_str, size, _size_flag);
> +if (human_size_flag)
> +  fprintf (fp, "\t%s: %" PRId64 " (%s)\n", name, size, size_str);
> +else
> +  fprintf (fp, "\t%s: %" PRId64 "\n", name, size);
> +  }
> +}
> +
>  static int
>  collect_context (void *opaque, const char *name)
>  {
> -- 
> 2.41.0
> 
> ___
> Libguestfs mailing list
> Libguestfs@redhat.com
> https://listman.redhat.com/mailman/listinfo/libguestfs

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
nbdkit - Flexible, fast NBD server with plugins
https://gitlab.com/nbdkit/nbdkit
___
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs



[Libguestfs] [libnbd PATCH 2/2] info: Show human sizes for block_size values

2023-10-06 Thread Eric Blake
Adding a human-readable size for block constraints is useful.  For:

$ ./run nbdinfo -- [ nbdkit memory \
   --filter=blocksize-policy blocksize-preferred=32k 1M ] | grep pref

this changes pre-patch:
block_size_preferred: 32768
to post-patch:
block_size_preferred: 32768 (32K)

Signed-off-by: Eric Blake 
---
 info/show.c | 26 +++---
 1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/info/show.c b/info/show.c
index 6aeffb54..ac483f34 100644
--- a/info/show.c
+++ b/info/show.c
@@ -35,6 +35,7 @@
 #include "nbdinfo.h"

 static void show_boolean (const char *name, bool cond);
+static void show_size (const char *name, int64_t size);
 static int collect_context (void *opaque, const char *name);
 static char *get_content (struct nbd_handle *, int64_t size);

@@ -181,13 +182,9 @@ show_one_export (struct nbd_handle *nbd, const char *desc,
   show_boolean ("can_trim", can_trim);
 if (can_zero >= 0)
   show_boolean ("can_zero", can_zero);
-if (block_minimum > 0)
-  fprintf (fp, "\t%s: %" PRId64 "\n", "block_size_minimum", block_minimum);
-if (block_preferred > 0)
-  fprintf (fp, "\t%s: %" PRId64 "\n", "block_size_preferred",
-   block_preferred);
-if (block_maximum > 0)
-  fprintf (fp, "\t%s: %" PRId64 "\n", "block_size_maximum", block_maximum);
+show_size ("block_size_minimum", block_minimum);
+show_size ("block_size_preferred", block_preferred);
+show_size ("block_size_maximum", block_maximum);
   }
   else {
 if (first)
@@ -304,6 +301,21 @@ show_boolean (const char *name, bool cond)
   ansi_restore (fp);
 }

+/* Used for displaying sizes in non-JSON output. */
+void show_size (const char *name, int64_t size)
+{
+  char size_str[HUMAN_SIZE_LONGEST];
+  bool human_size_flag = false;
+
+  if (size > 0) {
+human_size (size_str, size, _size_flag);
+if (human_size_flag)
+  fprintf (fp, "\t%s: %" PRId64 " (%s)\n", name, size, size_str);
+else
+  fprintf (fp, "\t%s: %" PRId64 "\n", name, size);
+  }
+}
+
 static int
 collect_context (void *opaque, const char *name)
 {
-- 
2.41.0

___
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs