Re: [Libguestfs] [libnbd PATCH 2/2] info: Show human sizes for block_size values
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
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
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
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