[libvirt] [PATCH 0/2] Eliminate two more gnulib modules (glib chronicles)

Remove the need to use: byteswap vsnprintf by using the GLib counterparts Ján Tomko (2): util: use g_vsnprintf qemu: use GUINT32_SWAP_LE_BE src/qemu/qemu_driver.c | 10 +++++----- src/util/virerror.c | 4 ++-- src/util/virtypedparam.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) -- 2.21.0

Instead of vsnprintf from gnulib, use g_vsnprintf from GLib. Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/util/virerror.c | 4 ++-- src/util/virtypedparam.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/util/virerror.c b/src/util/virerror.c index 54cd5b64b9..bf79a8aec7 100644 --- a/src/util/virerror.c +++ b/src/util/virerror.c @@ -1288,7 +1288,7 @@ void virReportErrorHelper(int domcode, if (fmt) { va_start(args, fmt); - vsnprintf(errorMessage, sizeof(errorMessage)-1, fmt, args); + g_vsnprintf(errorMessage, sizeof(errorMessage)-1, fmt, args); va_end(args); } else { errorMessage[0] = '\0'; @@ -1358,7 +1358,7 @@ void virReportSystemErrorFull(int domcode, int n; va_start(args, fmt); - n = vsnprintf(msgDetailBuf, sizeof(msgDetailBuf), fmt, args); + n = g_vsnprintf(msgDetailBuf, sizeof(msgDetailBuf), fmt, args); va_end(args); size_t len = strlen(errnoDetail); diff --git a/src/util/virtypedparam.c b/src/util/virtypedparam.c index 4ad2ed455f..603fcf213a 100644 --- a/src/util/virtypedparam.c +++ b/src/util/virtypedparam.c @@ -764,7 +764,7 @@ virTypedParamSetNameVPrintf(virTypedParameterPtr par, const char *fmt, va_list ap) { - if (vsnprintf(par->field, VIR_TYPED_PARAM_FIELD_LENGTH, fmt, ap) > VIR_TYPED_PARAM_FIELD_LENGTH) { + if (g_vsnprintf(par->field, VIR_TYPED_PARAM_FIELD_LENGTH, fmt, ap) > VIR_TYPED_PARAM_FIELD_LENGTH) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Field name too long")); return -1; } -- 2.21.0

On Wed, Nov 13, 2019 at 10:33:08AM +0100, Ján Tomko wrote:
Instead of vsnprintf from gnulib, use g_vsnprintf from GLib.
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/util/virerror.c | 4 ++-- src/util/virtypedparam.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
The change to bootsrap.conf is missing to remove vsnprintf. With that added Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On Wed, Nov 13, 2019 at 10:33:08 +0100, Ján Tomko wrote:
Instead of vsnprintf from gnulib, use g_vsnprintf from GLib.
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/util/virerror.c | 4 ++-- src/util/virtypedparam.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
I think you should add a syntax-check rule forbidding use of plain vsnprintf. With that: Reviewed-by: Peter Krempa <pkrempa@redhat.com> I queued the appropriate patch to bootstrap.conf to my branch of the kill-a-gnulib-module-a-day initiative.

Use this GLib macro instead of bswap_32 from gnulib. Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/qemu/qemu_driver.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index c969a3d463..85b0c9cb79 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -2803,11 +2803,11 @@ struct _virQEMUSaveData { static inline void bswap_header(virQEMUSaveHeaderPtr hdr) { - hdr->version = bswap_32(hdr->version); - hdr->data_len = bswap_32(hdr->data_len); - hdr->was_running = bswap_32(hdr->was_running); - hdr->compressed = bswap_32(hdr->compressed); - hdr->cookieOffset = bswap_32(hdr->cookieOffset); + hdr->version = GUINT32_SWAP_LE_BE(hdr->version); + hdr->data_len = GUINT32_SWAP_LE_BE(hdr->data_len); + hdr->was_running = GUINT32_SWAP_LE_BE(hdr->was_running); + hdr->compressed = GUINT32_SWAP_LE_BE(hdr->compressed); + hdr->cookieOffset = GUINT32_SWAP_LE_BE(hdr->cookieOffset); } -- 2.21.0

On Wed, Nov 13, 2019 at 10:33:09AM +0100, Ján Tomko wrote:
Use this GLib macro instead of bswap_32 from gnulib.
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/qemu/qemu_driver.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
Missing bootstrap.conf change to remove byteswap
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index c969a3d463..85b0c9cb79 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -2803,11 +2803,11 @@ struct _virQEMUSaveData { static inline void bswap_header(virQEMUSaveHeaderPtr hdr) { - hdr->version = bswap_32(hdr->version); - hdr->data_len = bswap_32(hdr->data_len); - hdr->was_running = bswap_32(hdr->was_running); - hdr->compressed = bswap_32(hdr->compressed); - hdr->cookieOffset = bswap_32(hdr->cookieOffset); + hdr->version = GUINT32_SWAP_LE_BE(hdr->version); + hdr->data_len = GUINT32_SWAP_LE_BE(hdr->data_len); + hdr->was_running = GUINT32_SWAP_LE_BE(hdr->was_running); + hdr->compressed = GUINT32_SWAP_LE_BE(hdr->compressed); + hdr->cookieOffset = GUINT32_SWAP_LE_BE(hdr->cookieOffset); }
Also needs to remove byteswap.h include file Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On Wed, Nov 13, 2019 at 10:38:06 +0000, Daniel Berrange wrote:
On Wed, Nov 13, 2019 at 10:33:09AM +0100, Ján Tomko wrote:
Use this GLib macro instead of bswap_32 from gnulib.
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/qemu/qemu_driver.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
Missing bootstrap.conf change to remove byteswap
We had a chat in person and we agreed to try to get rid of as much of the modules as possible by doing a "kill one gnulib module a day" initiative at the office. Since bootstrap changes are very invasive for incremental builds I pledge that I'll collect them in a branch and push all outstanding ones once a week to minimize bootstrap churn. I'll specify the branch in my patches. Thus bootstrap.conf changes should be kept separate.
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index c969a3d463..85b0c9cb79 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -2803,11 +2803,11 @@ struct _virQEMUSaveData { static inline void bswap_header(virQEMUSaveHeaderPtr hdr) { - hdr->version = bswap_32(hdr->version); - hdr->data_len = bswap_32(hdr->data_len); - hdr->was_running = bswap_32(hdr->was_running); - hdr->compressed = bswap_32(hdr->compressed); - hdr->cookieOffset = bswap_32(hdr->cookieOffset); + hdr->version = GUINT32_SWAP_LE_BE(hdr->version); + hdr->data_len = GUINT32_SWAP_LE_BE(hdr->data_len); + hdr->was_running = GUINT32_SWAP_LE_BE(hdr->was_running); + hdr->compressed = GUINT32_SWAP_LE_BE(hdr->compressed); + hdr->cookieOffset = GUINT32_SWAP_LE_BE(hdr->cookieOffset); }
Also needs to remove byteswap.h include file
This can be done in this patch though.
Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

On Wed, Nov 13, 2019 at 12:44:57PM +0100, Peter Krempa wrote:
On Wed, Nov 13, 2019 at 10:38:06 +0000, Daniel Berrange wrote:
On Wed, Nov 13, 2019 at 10:33:09AM +0100, Ján Tomko wrote:
Use this GLib macro instead of bswap_32 from gnulib.
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/qemu/qemu_driver.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
Missing bootstrap.conf change to remove byteswap
We had a chat in person and we agreed to try to get rid of as much of the modules as possible by doing a "kill one gnulib module a day" initiative at the office.
FYI, most(all?) of the gnulib modules related to sockets/FDs will need to be killed off in a single group, since they're all intertwined to deal with the Windows HANDLE vs FD wrapping GNULIB does. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On Wed, Nov 13, 2019 at 10:38:06 +0000, Daniel Berrange wrote:
On Wed, Nov 13, 2019 at 10:33:09AM +0100, Ján Tomko wrote:
Use this GLib macro instead of bswap_32 from gnulib.
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/qemu/qemu_driver.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
Missing bootstrap.conf change to remove byteswap
I queued this to my branch for bootstrap.conf changes.
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index c969a3d463..85b0c9cb79 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -2803,11 +2803,11 @@ struct _virQEMUSaveData { static inline void bswap_header(virQEMUSaveHeaderPtr hdr) { - hdr->version = bswap_32(hdr->version); - hdr->data_len = bswap_32(hdr->data_len); - hdr->was_running = bswap_32(hdr->was_running); - hdr->compressed = bswap_32(hdr->compressed); - hdr->cookieOffset = bswap_32(hdr->cookieOffset); + hdr->version = GUINT32_SWAP_LE_BE(hdr->version); + hdr->data_len = GUINT32_SWAP_LE_BE(hdr->data_len); + hdr->was_running = GUINT32_SWAP_LE_BE(hdr->was_running); + hdr->compressed = GUINT32_SWAP_LE_BE(hdr->compressed); + hdr->cookieOffset = GUINT32_SWAP_LE_BE(hdr->cookieOffset); }
Also needs to remove byteswap.h include file
.. so with the above addressed: Reviewed-by: Peter Krempa <pkrempa@redhat.com>
participants (3)
-
Daniel P. Berrangé
-
Ján Tomko
-
Peter Krempa