public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH v2 qemu 1/2] Add format attributes to function candidates
@ 2023-08-07 12:30 Filip Schauer
  2023-08-07 12:30 ` [pve-devel] [PATCH v2 qemu 2/2] Use already defined G_GNUC_PRINTF macro Filip Schauer
  0 siblings, 1 reply; 2+ messages in thread
From: Filip Schauer @ 2023-08-07 12:30 UTC (permalink / raw)
  To: pve-devel

Add format attributes to functions that take printf-like arguments. This
provides additional compile-time checking that the correct parameters
are passed to the functions.

This fixes compiler warnings generated by the -Wsuggest-attribute=format
flag.

Signed-off-by: Filip Schauer <f.schauer@proxmox.com>
---
 ...-async-for-background-state-snapshots.patch | 13 ++++++++++++-
 ...PVE-Backup-add-vma-backup-format-code.patch | 18 ++++++++++++++----
 2 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch b/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch
index 7be1af4..68c5627 100644
--- a/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch
+++ b/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch
@@ -142,7 +142,7 @@ new file mode 100644
 index 0000000000..ac1fac6378
 --- /dev/null
 +++ b/migration/savevm-async.c
-@@ -0,0 +1,533 @@
+@@ -0,0 +1,544 @@
 +#include "qemu/osdep.h"
 +#include "migration/channel-savevm-async.h"
 +#include "migration/migration.h"
@@ -177,6 +177,16 @@ index 0000000000..ac1fac6378
 +    do { } while (0)
 +#endif
 +
++#ifdef __GNUC__
++#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
++#define PRINTF(i, j)    __attribute__((format (gnu_printf, i, j)))
++#else
++#define PRINTF(i, j)    __attribute__((format (printf, i, j)))
++#endif
++#else
++#define PRINTF(i, j)
++#endif
++
 +enum {
 +    SAVE_STATE_DONE,
 +    SAVE_STATE_ERROR,
@@ -275,6 +285,7 @@ index 0000000000..ac1fac6378
 +    return ret;
 +}
 +
++static void save_snapshot_error(const char *fmt, ...) PRINTF(1, 2);
 +static void save_snapshot_error(const char *fmt, ...)
 +{
 +    va_list ap;
diff --git a/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch b/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch
index 8471a6f..5dcd866 100644
--- a/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch
+++ b/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch
@@ -2314,13 +2314,13 @@ index 0000000000..304f02bc84
 +        ret = blk_co_preadv(job->target, start * VMA_CLUSTER_SIZE,
 +                            readlen, &qiov, 0);
 +        if (ret < 0) {
-+            vma_writer_set_error(job->vmaw, "read error", -1);
++            vma_writer_set_error(job->vmaw, "read error");
 +            goto out;
 +        }
 +
 +        size_t zb = 0;
 +        if (vma_writer_write(job->vmaw, job->dev_id, start, buf, &zb) < 0) {
-+            vma_writer_set_error(job->vmaw, "backup_dump_cb vma_writer_write failed", -1);
++            vma_writer_set_error(job->vmaw, "backup_dump_cb vma_writer_write failed");
 +            goto out;
 +        }
 +    }
@@ -2622,7 +2622,7 @@ new file mode 100644
 index 0000000000..1b62859165
 --- /dev/null
 +++ b/vma.h
-@@ -0,0 +1,150 @@
+@@ -0,0 +1,160 @@
 +/*
 + * VMA: Virtual Machine Archive
 + *
@@ -2643,6 +2643,16 @@ index 0000000000..1b62859165
 +#include "qapi/error.h"
 +#include "block/block.h"
 +
++#ifdef __GNUC__
++#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
++#define PRINTF(i, j)    __attribute__((format (gnu_printf, i, j)))
++#else
++#define PRINTF(i, j)    __attribute__((format (printf, i, j)))
++#endif
++#else
++#define PRINTF(i, j)
++#endif
++
 +#define VMA_BLOCK_BITS 12
 +#define VMA_BLOCK_SIZE (1<<VMA_BLOCK_BITS)
 +#define VMA_CLUSTER_BITS (VMA_BLOCK_BITS+4)
@@ -2757,7 +2767,7 @@ index 0000000000..1b62859165
 +int coroutine_fn vma_writer_flush_output(VmaWriter *vmaw);
 +
 +int vma_writer_get_status(VmaWriter *vmaw, VmaStatus *status);
-+void vma_writer_set_error(VmaWriter *vmaw, const char *fmt, ...);
++void vma_writer_set_error(VmaWriter *vmaw, const char *fmt, ...) PRINTF(2, 3);
 +
 +
 +VmaReader *vma_reader_create(const char *filename, Error **errp);
-- 
2.39.2





^ permalink raw reply	[flat|nested] 2+ messages in thread

* [pve-devel] [PATCH v2 qemu 2/2] Use already defined G_GNUC_PRINTF macro
  2023-08-07 12:30 [pve-devel] [PATCH v2 qemu 1/2] Add format attributes to function candidates Filip Schauer
@ 2023-08-07 12:30 ` Filip Schauer
  0 siblings, 0 replies; 2+ messages in thread
From: Filip Schauer @ 2023-08-07 12:30 UTC (permalink / raw)
  To: pve-devel

Use the G_GNUC_PRINTF macro that QEMU already defines instead of
redefining it under a different name.

Signed-off-by: Filip Schauer <f.schauer@proxmox.com>
---
 ...vevm-async-for-background-state-snapshots.patch | 14 ++------------
 ...027-PVE-Backup-add-vma-backup-format-code.patch | 14 ++------------
 2 files changed, 4 insertions(+), 24 deletions(-)

diff --git a/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch b/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch
index 68c5627..3dbbf18 100644
--- a/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch
+++ b/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch
@@ -142,7 +142,7 @@ new file mode 100644
 index 0000000000..ac1fac6378
 --- /dev/null
 +++ b/migration/savevm-async.c
-@@ -0,0 +1,544 @@
+@@ -0,0 +1,534 @@
 +#include "qemu/osdep.h"
 +#include "migration/channel-savevm-async.h"
 +#include "migration/migration.h"
@@ -177,16 +177,6 @@ index 0000000000..ac1fac6378
 +    do { } while (0)
 +#endif
 +
-+#ifdef __GNUC__
-+#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
-+#define PRINTF(i, j)    __attribute__((format (gnu_printf, i, j)))
-+#else
-+#define PRINTF(i, j)    __attribute__((format (printf, i, j)))
-+#endif
-+#else
-+#define PRINTF(i, j)
-+#endif
-+
 +enum {
 +    SAVE_STATE_DONE,
 +    SAVE_STATE_ERROR,
@@ -285,7 +275,7 @@ index 0000000000..ac1fac6378
 +    return ret;
 +}
 +
-+static void save_snapshot_error(const char *fmt, ...) PRINTF(1, 2);
++static void save_snapshot_error(const char *fmt, ...) G_GNUC_PRINTF(1, 2);
 +static void save_snapshot_error(const char *fmt, ...)
 +{
 +    va_list ap;
diff --git a/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch b/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch
index 5dcd866..3c3ac54 100644
--- a/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch
+++ b/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch
@@ -2622,7 +2622,7 @@ new file mode 100644
 index 0000000000..1b62859165
 --- /dev/null
 +++ b/vma.h
-@@ -0,0 +1,160 @@
+@@ -0,0 +1,150 @@
 +/*
 + * VMA: Virtual Machine Archive
 + *
@@ -2643,16 +2643,6 @@ index 0000000000..1b62859165
 +#include "qapi/error.h"
 +#include "block/block.h"
 +
-+#ifdef __GNUC__
-+#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
-+#define PRINTF(i, j)    __attribute__((format (gnu_printf, i, j)))
-+#else
-+#define PRINTF(i, j)    __attribute__((format (printf, i, j)))
-+#endif
-+#else
-+#define PRINTF(i, j)
-+#endif
-+
 +#define VMA_BLOCK_BITS 12
 +#define VMA_BLOCK_SIZE (1<<VMA_BLOCK_BITS)
 +#define VMA_CLUSTER_BITS (VMA_BLOCK_BITS+4)
@@ -2767,7 +2757,7 @@ index 0000000000..1b62859165
 +int coroutine_fn vma_writer_flush_output(VmaWriter *vmaw);
 +
 +int vma_writer_get_status(VmaWriter *vmaw, VmaStatus *status);
-+void vma_writer_set_error(VmaWriter *vmaw, const char *fmt, ...) PRINTF(2, 3);
++void vma_writer_set_error(VmaWriter *vmaw, const char *fmt, ...) G_GNUC_PRINTF(2, 3);
 +
 +
 +VmaReader *vma_reader_create(const char *filename, Error **errp);
-- 
2.39.2





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-08-07 12:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-07 12:30 [pve-devel] [PATCH v2 qemu 1/2] Add format attributes to function candidates Filip Schauer
2023-08-07 12:30 ` [pve-devel] [PATCH v2 qemu 2/2] Use already defined G_GNUC_PRINTF macro Filip Schauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal