All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13
@ 2017-07-13 13:27 Markus Armbruster
  2017-07-13 13:27 ` [Qemu-devel] [PULL 1/9] xilinx: Fix latent error handling bug Markus Armbruster
                   ` (10 more replies)
  0 siblings, 11 replies; 26+ messages in thread
From: Markus Armbruster @ 2017-07-13 13:27 UTC (permalink / raw)
  To: qemu-devel

The following changes since commit 31fe1c414501047cbb91b695bdccc0068496dcf6:

  Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging (2017-07-11 17:13:49 +0100)

are available in the git repository at:

  git://repo.or.cz/qemu/armbru.git tags/pull-error-2017-07-13

for you to fetch changes up to 88f83f3539fdedd5f315c5fe434ffcb7a010cc73:

  Convert error_report*_err() to warn_report*_err() (2017-07-13 13:50:24 +0200)

----------------------------------------------------------------
Error reporting patches for 2017-07-13

----------------------------------------------------------------
Alistair Francis (6):
      util/qemu-error: Rename error_print_loc() to be more generic
      error: Functions to report warnings and informational messages
      Convert error_report() to warn_report()
      char-socket: Report TCP socket waiting as information
      error: Implement the warn and free Error functions
      Convert error_report*_err() to warn_report*_err()

Eduardo Habkost (3):
      xilinx: Fix latent error handling bug
      block: Don't try to set *errp directly
      websock: Don't try to set *errp directly

 block.c                        |   8 ++--
 block/backup.c                 |  12 ++---
 block/gluster.c                |   3 +-
 block/iscsi.c                  |   6 +--
 block/nfs.c                    |  12 ++---
 block/rbd.c                    |   6 +--
 block/ssh.c                    |   4 +-
 blockdev.c                     |   2 +-
 chardev/char-socket.c          |   4 +-
 cpus.c                         |   2 +-
 hw/9pfs/9p.c                   |   2 +-
 hw/arm/highbank.c              |   6 +--
 hw/arm/imx25_pdk.c             |   6 +--
 hw/arm/kzm.c                   |   6 +--
 hw/core/machine.c              |  10 ++--
 hw/core/qdev-properties.c      |  10 ++--
 hw/dma/xilinx_axidma.c         |   4 +-
 hw/i386/acpi-build.c           |  10 ++--
 hw/i386/kvm/pci-assign.c       |   6 +--
 hw/i386/pc.c                   |  13 +++--
 hw/i386/pc_piix.c              |   8 ++--
 hw/i386/pc_q35.c               |   6 +--
 hw/misc/aspeed_sdmc.c          |   8 ++--
 hw/net/xilinx_axienet.c        |   4 +-
 hw/nvram/fw_cfg.c              |   2 +-
 hw/pci-host/piix.c             |   2 +-
 hw/ppc/pnv.c                   |   6 +--
 hw/ppc/spapr.c                 |   4 +-
 hw/ppc/spapr_iommu.c           |   2 +-
 hw/scsi/scsi-bus.c             |   6 +--
 hw/usb/dev-smartcard-reader.c  |   6 +--
 hw/usb/redirect.c              |   2 +-
 include/qapi/error.h           |  11 +++++
 include/qemu/error-report.h    |   7 +++
 io/channel-websock.c           |   4 +-
 net/tap-linux.c                |   2 +-
 scripts/checkpatch.pl          |   7 ++-
 target/i386/cpu.c              |  22 ++++-----
 target/i386/kvm.c              |  12 ++---
 target/s390x/cpu_models.c      |   6 +--
 target/s390x/kvm.c             |   4 +-
 tests/test-qdev-global-props.c |   6 +--
 trace/control.c                |   8 ++--
 util/error.c                   |  20 ++++++++
 util/qemu-error.c              | 106 ++++++++++++++++++++++++++++++++++++++---
 vl.c                           |  20 ++++----
 46 files changed, 275 insertions(+), 148 deletions(-)

-- 
2.7.5

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

* [Qemu-devel] [PULL 1/9] xilinx: Fix latent error handling bug
  2017-07-13 13:27 [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 Markus Armbruster
@ 2017-07-13 13:27 ` Markus Armbruster
  2017-07-13 13:27 ` [Qemu-devel] [PULL 2/9] block: Don't try to set *errp directly Markus Armbruster
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 26+ messages in thread
From: Markus Armbruster @ 2017-07-13 13:27 UTC (permalink / raw)
  To: qemu-devel
  Cc: Eduardo Habkost, Edgar E. Iglesias, Alistair Francis, Jason Wang,
	qemu-arm

From: Eduardo Habkost <ehabkost@redhat.com>

Assigning directly to *errp is not valid, as errp may be null,
&error_fatal, or &error_abort.  The !*errp conditional protects
against the latter two, but we then leak @local_err.  Fortunately,
the qdev core always passes pointer to null, so this is "merely" a
latent bug.

Use error_propagate() instead.

Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Cc: Alistair Francis <alistair.francis@xilinx.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: qemu-arm@nongnu.org
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20170608133906.12737-2-ehabkost@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Commit message clarified]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/dma/xilinx_axidma.c  | 4 +---
 hw/net/xilinx_axienet.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/hw/dma/xilinx_axidma.c b/hw/dma/xilinx_axidma.c
index 6065689..3987b5f 100644
--- a/hw/dma/xilinx_axidma.c
+++ b/hw/dma/xilinx_axidma.c
@@ -554,9 +554,7 @@ static void xilinx_axidma_realize(DeviceState *dev, Error **errp)
     return;
 
 xilinx_axidma_realize_fail:
-    if (!*errp) {
-        *errp = local_err;
-    }
+    error_propagate(errp, local_err);
 }
 
 static void xilinx_axidma_init(Object *obj)
diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c
index b670184..5ffa739 100644
--- a/hw/net/xilinx_axienet.c
+++ b/hw/net/xilinx_axienet.c
@@ -981,9 +981,7 @@ static void xilinx_enet_realize(DeviceState *dev, Error **errp)
     return;
 
 xilinx_enet_realize_fail:
-    if (!*errp) {
-        *errp = local_err;
-    }
+    error_propagate(errp, local_err);
 }
 
 static void xilinx_enet_init(Object *obj)
-- 
2.7.5

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

* [Qemu-devel] [PULL 2/9] block: Don't try to set *errp directly
  2017-07-13 13:27 [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 Markus Armbruster
  2017-07-13 13:27 ` [Qemu-devel] [PULL 1/9] xilinx: Fix latent error handling bug Markus Armbruster
@ 2017-07-13 13:27 ` Markus Armbruster
  2017-07-13 13:27 ` [Qemu-devel] [PULL 3/9] websock: " Markus Armbruster
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 26+ messages in thread
From: Markus Armbruster @ 2017-07-13 13:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: Eduardo Habkost, Kevin Wolf, Max Reitz, qemu-block

From: Eduardo Habkost <ehabkost@redhat.com>

Assigning directly to *errp is not valid, as errp may be NULL,
&error_fatal, or &error_abort.  Use error_propagate() instead.

With this, there's no need to check if errp is NULL anymore, as
error_propagate() and error_prepend() are able to handle that.

Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Max Reitz <mreitz@redhat.com>
Cc: qemu-block@nongnu.org
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20170608133906.12737-3-ehabkost@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 block.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/block.c b/block.c
index 6943962..b1599d2 100644
--- a/block.c
+++ b/block.c
@@ -4267,11 +4267,9 @@ bool bdrv_op_is_blocked(BlockDriverState *bs, BlockOpType op, Error **errp)
     assert((int) op >= 0 && op < BLOCK_OP_TYPE_MAX);
     if (!QLIST_EMPTY(&bs->op_blockers[op])) {
         blocker = QLIST_FIRST(&bs->op_blockers[op]);
-        if (errp) {
-            *errp = error_copy(blocker->reason);
-            error_prepend(errp, "Node '%s' is busy: ",
-                          bdrv_get_device_or_node_name(bs));
-        }
+        error_propagate(errp, error_copy(blocker->reason));
+        error_prepend(errp, "Node '%s' is busy: ",
+                      bdrv_get_device_or_node_name(bs));
         return true;
     }
     return false;
-- 
2.7.5

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

* [Qemu-devel] [PULL 3/9] websock: Don't try to set *errp directly
  2017-07-13 13:27 [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 Markus Armbruster
  2017-07-13 13:27 ` [Qemu-devel] [PULL 1/9] xilinx: Fix latent error handling bug Markus Armbruster
  2017-07-13 13:27 ` [Qemu-devel] [PULL 2/9] block: Don't try to set *errp directly Markus Armbruster
@ 2017-07-13 13:27 ` Markus Armbruster
  2017-07-13 13:27 ` [Qemu-devel] [PULL 4/9] util/qemu-error: Rename error_print_loc() to be more generic Markus Armbruster
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 26+ messages in thread
From: Markus Armbruster @ 2017-07-13 13:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: Eduardo Habkost, Daniel P. Berrange

From: Eduardo Habkost <ehabkost@redhat.com>

Assigning directly to *errp is not valid, as errp may be NULL,
&error_fatal, or &error_abort.  Use error_propagate() instead.

Cc: "Daniel P. Berrange" <berrange@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20170608133906.12737-4-ehabkost@redhat.com>
Reviewed-by: Manos Pitsidianakis <el13635@mail.ntua.gr>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 io/channel-websock.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/io/channel-websock.c b/io/channel-websock.c
index 8fabade..5a3badb 100644
--- a/io/channel-websock.c
+++ b/io/channel-websock.c
@@ -856,7 +856,7 @@ static ssize_t qio_channel_websock_readv(QIOChannel *ioc,
     ssize_t ret;
 
     if (wioc->io_err) {
-        *errp = error_copy(wioc->io_err);
+        error_propagate(errp, error_copy(wioc->io_err));
         return -1;
     }
 
@@ -902,7 +902,7 @@ static ssize_t qio_channel_websock_writev(QIOChannel *ioc,
     ssize_t ret;
 
     if (wioc->io_err) {
-        *errp = error_copy(wioc->io_err);
+        error_propagate(errp, error_copy(wioc->io_err));
         return -1;
     }
 
-- 
2.7.5

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

* [Qemu-devel] [PULL 4/9] util/qemu-error: Rename error_print_loc() to be more generic
  2017-07-13 13:27 [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 Markus Armbruster
                   ` (2 preceding siblings ...)
  2017-07-13 13:27 ` [Qemu-devel] [PULL 3/9] websock: " Markus Armbruster
@ 2017-07-13 13:27 ` Markus Armbruster
  2017-07-13 13:27 ` [Qemu-devel] [PULL 5/9] error: Functions to report warnings and informational messages Markus Armbruster
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 26+ messages in thread
From: Markus Armbruster @ 2017-07-13 13:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alistair Francis

From: Alistair Francis <alistair.francis@xilinx.com>

Rename the error_print_loc() function in preparation for using it to
print warnings as well.

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <661b215695db878a0aef8401b506fb3da50e981a.1499866456.git.alistair.francis@xilinx.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 util/qemu-error.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/util/qemu-error.c b/util/qemu-error.c
index b331f8f..1c5e35e 100644
--- a/util/qemu-error.c
+++ b/util/qemu-error.c
@@ -146,7 +146,7 @@ const char *error_get_progname(void)
 /*
  * Print current location to current monitor if we have one, else to stderr.
  */
-static void error_print_loc(void)
+static void print_loc(void)
 {
     const char *sep = "";
     int i;
@@ -197,7 +197,7 @@ void error_vreport(const char *fmt, va_list ap)
         g_free(timestr);
     }
 
-    error_print_loc();
+    print_loc();
     error_vprintf(fmt, ap);
     error_printf("\n");
 }
-- 
2.7.5

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

* [Qemu-devel] [PULL 5/9] error: Functions to report warnings and informational messages
  2017-07-13 13:27 [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 Markus Armbruster
                   ` (3 preceding siblings ...)
  2017-07-13 13:27 ` [Qemu-devel] [PULL 4/9] util/qemu-error: Rename error_print_loc() to be more generic Markus Armbruster
@ 2017-07-13 13:27 ` Markus Armbruster
  2017-07-13 13:27 ` [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report() Markus Armbruster
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 26+ messages in thread
From: Markus Armbruster @ 2017-07-13 13:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alistair Francis

From: Alistair Francis <alistair.francis@xilinx.com>

Add warn_report(), warn_vreport() for reporting warnings, and
info_report(), info_vreport() for informational messages.

These are implemented them with a helper function factored out of
error_vreport(), suitably generalized. This patch makes no changes
to the output of the original error_report() function.

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <c89e9980019f296ec9aa38d7689ac4d5c369296d.1499866456.git.alistair.francis@xilinx.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 include/qemu/error-report.h |   7 +++
 scripts/checkpatch.pl       |   6 ++-
 util/qemu-error.c           | 102 +++++++++++++++++++++++++++++++++++++++++---
 3 files changed, 109 insertions(+), 6 deletions(-)

diff --git a/include/qemu/error-report.h b/include/qemu/error-report.h
index 3001865..e1c8ae1 100644
--- a/include/qemu/error-report.h
+++ b/include/qemu/error-report.h
@@ -35,8 +35,15 @@ void error_printf(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
 void error_vprintf_unless_qmp(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0);
 void error_printf_unless_qmp(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
 void error_set_progname(const char *argv0);
+
 void error_vreport(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0);
+void warn_vreport(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0);
+void info_vreport(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0);
+
 void error_report(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
+void warn_report(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
+void info_report(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
+
 const char *error_get_progname(void);
 extern bool enable_timestamp_msg;
 
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 73efc92..9287cc5 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2535,7 +2535,11 @@ sub process {
 				error_prepend|
 				error_reportf_err|
 				error_vreport|
-				error_report}x;
+				warn_vreport|
+				info_vreport|
+				error_report|
+				warn_report|
+				info_report}x;
 
 	if ($rawline =~ /\b(?:$qemu_error_funcs)\s*\(.*\".*\\n/) {
 		ERROR("Error messages should not contain newlines\n" . $herecurr);
diff --git a/util/qemu-error.c b/util/qemu-error.c
index 1c5e35e..c557c6a 100644
--- a/util/qemu-error.c
+++ b/util/qemu-error.c
@@ -14,6 +14,16 @@
 #include "monitor/monitor.h"
 #include "qemu/error-report.h"
 
+/*
+ * @report_type is the type of message: error, warning or
+ * informational.
+ */
+typedef enum {
+    REPORT_TYPE_ERROR,
+    REPORT_TYPE_WARNING,
+    REPORT_TYPE_INFO,
+} report_type;
+
 void error_printf(const char *fmt, ...)
 {
     va_list ap;
@@ -179,17 +189,29 @@ static void print_loc(void)
 
 bool enable_timestamp_msg;
 /*
- * Print an error message to current monitor if we have one, else to stderr.
+ * Print a message to current monitor if we have one, else to stderr.
+ * @report_type is the type of message: error, warning or informational.
  * Format arguments like vsprintf().  The resulting message should be
  * a single phrase, with no newline or trailing punctuation.
  * Prepend the current location and append a newline.
  * It's wrong to call this in a QMP monitor.  Use error_setg() there.
  */
-void error_vreport(const char *fmt, va_list ap)
+static void vreport(report_type type, const char *fmt, va_list ap)
 {
     GTimeVal tv;
     gchar *timestr;
 
+    switch (type) {
+    case REPORT_TYPE_ERROR:
+        break;
+    case REPORT_TYPE_WARNING:
+        error_printf("warning: ");
+        break;
+    case REPORT_TYPE_INFO:
+        error_printf("info: ");
+        break;
+    }
+
     if (enable_timestamp_msg && !cur_mon) {
         g_get_current_time(&tv);
         timestr = g_time_val_to_iso8601(&tv);
@@ -204,8 +226,45 @@ void error_vreport(const char *fmt, va_list ap)
 
 /*
  * Print an error message to current monitor if we have one, else to stderr.
- * Format arguments like sprintf().  The resulting message should be a
- * single phrase, with no newline or trailing punctuation.
+ * Format arguments like vsprintf().  The resulting message should be
+ * a single phrase, with no newline or trailing punctuation.
+ * Prepend the current location and append a newline.
+ * It's wrong to call this in a QMP monitor.  Use error_setg() there.
+ */
+void error_vreport(const char *fmt, va_list ap)
+{
+    vreport(REPORT_TYPE_ERROR, fmt, ap);
+}
+
+/*
+ * Print a warning message to current monitor if we have one, else to stderr.
+ * Format arguments like vsprintf().  The resulting message should be
+ * a single phrase, with no newline or trailing punctuation.
+ * Prepend the current location and append a newline.
+ * It's wrong to call this in a QMP monitor.  Use error_setg() there.
+ */
+void warn_vreport(const char *fmt, va_list ap)
+{
+    vreport(REPORT_TYPE_WARNING, fmt, ap);
+}
+
+/*
+ * Print an information message to current monitor if we have one, else to
+ * stderr.
+ * Format arguments like vsprintf().  The resulting message should be
+ * a single phrase, with no newline or trailing punctuation.
+ * Prepend the current location and append a newline.
+ * It's wrong to call this in a QMP monitor.  Use error_setg() there.
+ */
+void info_vreport(const char *fmt, va_list ap)
+{
+    vreport(REPORT_TYPE_INFO, fmt, ap);
+}
+
+/*
+ * Print an error message to current monitor if we have one, else to stderr.
+ * Format arguments like sprintf().  The resulting message should be
+ * a single phrase, with no newline or trailing punctuation.
  * Prepend the current location and append a newline.
  * It's wrong to call this in a QMP monitor.  Use error_setg() there.
  */
@@ -214,6 +273,39 @@ void error_report(const char *fmt, ...)
     va_list ap;
 
     va_start(ap, fmt);
-    error_vreport(fmt, ap);
+    vreport(REPORT_TYPE_ERROR, fmt, ap);
+    va_end(ap);
+}
+
+/*
+ * Print a warning message to current monitor if we have one, else to stderr.
+ * Format arguments like sprintf(). The resulting message should be a
+ * single phrase, with no newline or trailing punctuation.
+ * Prepend the current location and append a newline.
+ * It's wrong to call this in a QMP monitor.  Use error_setg() there.
+ */
+void warn_report(const char *fmt, ...)
+{
+    va_list ap;
+
+    va_start(ap, fmt);
+    vreport(REPORT_TYPE_WARNING, fmt, ap);
+    va_end(ap);
+}
+
+/*
+ * Print an information message to current monitor if we have one, else to
+ * stderr.
+ * Format arguments like sprintf(). The resulting message should be a
+ * single phrase, with no newline or trailing punctuation.
+ * Prepend the current location and append a newline.
+ * It's wrong to call this in a QMP monitor.  Use error_setg() there.
+ */
+void info_report(const char *fmt, ...)
+{
+    va_list ap;
+
+    va_start(ap, fmt);
+    vreport(REPORT_TYPE_INFO, fmt, ap);
     va_end(ap);
 }
-- 
2.7.5

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

* [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report()
  2017-07-13 13:27 [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 Markus Armbruster
                   ` (4 preceding siblings ...)
  2017-07-13 13:27 ` [Qemu-devel] [PULL 5/9] error: Functions to report warnings and informational messages Markus Armbruster
@ 2017-07-13 13:27 ` Markus Armbruster
  2017-07-17 10:19   ` Kevin Wolf
  2017-07-13 13:27 ` [Qemu-devel] [PULL 7/9] char-socket: Report TCP socket waiting as information Markus Armbruster
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 26+ messages in thread
From: Markus Armbruster @ 2017-07-13 13:27 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, Jeff Cody, Kevin Wolf, Max Reitz,
	Ronnie Sahlberg, Paolo Bonzini, Peter Lieven, Josh Durgin,
	Richard W.M. Jones, Peter Crosthwaite, Richard Henderson,
	Aneesh Kumar K.V, Greg Kurz, Rob Herring, Peter Maydell,
	Peter Chubb, Eduardo Habkost, Marcel Apfelbaum,
	Michael S. Tsirkin, Igor Mammedov, David Gibson, Alexander Graf,
	Gerd Hoffmann, Jason Wang, Marcelo Tosatti,
	Christian Borntraeger, Cornelia Huck, Stefan Hajnoczi

From: Alistair Francis <alistair.francis@xilinx.com>

Convert all uses of error_report("warning:"... to use warn_report()
instead. This helps standardise on a single method of printing warnings
to the user.

All of the warnings were changed using these two commands:
    find ./* -type f -exec sed -i \
      's|error_report(".*warning[,:] |warn_report("|Ig' {} +

Indentation fixed up manually afterwards.

The test-qdev-global-props test case was manually updated to ensure that
this patch passes make check (as the test cases are case sensitive).

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Suggested-by: Thomas Huth <thuth@redhat.com>
Cc: Jeff Cody <jcody@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Max Reitz <mreitz@redhat.com>
Cc: Ronnie Sahlberg <ronniesahlberg@gmail.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Peter Lieven <pl@kamp.de>
Cc: Josh Durgin <jdurgin@redhat.com>
Cc: "Richard W.M. Jones" <rjones@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>
Cc: Peter Crosthwaite <crosthwaite.peter@gmail.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: Greg Kurz <groug@kaod.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Peter Chubb <peter.chubb@nicta.com.au>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Marcel Apfelbaum <marcel@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Cc: Alexander Graf <agraf@suse.de>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Cornelia Huck <cohuck@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Greg Kurz <groug@kaod.org>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed by: Peter Chubb <peter.chubb@data61.csiro.au>
Acked-by: Max Reitz <mreitz@redhat.com>
Acked-by: Marcel Apfelbaum <marcel@redhat.com>
Message-Id: <e1cfa2cd47087c248dd24caca9c33d9af0c499b0.1499866456.git.alistair.francis@xilinx.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 block/backup.c                 | 12 ++++++------
 block/gluster.c                |  3 +--
 block/iscsi.c                  |  6 +++---
 block/nfs.c                    | 12 ++++++------
 block/rbd.c                    |  6 +++---
 block/ssh.c                    |  4 ++--
 blockdev.c                     |  2 +-
 cpus.c                         |  2 +-
 hw/9pfs/9p.c                   |  2 +-
 hw/arm/highbank.c              |  6 +++---
 hw/arm/imx25_pdk.c             |  6 +++---
 hw/arm/kzm.c                   |  6 +++---
 hw/core/machine.c              | 10 +++++-----
 hw/core/qdev-properties.c      |  8 ++++----
 hw/i386/acpi-build.c           | 10 +++++-----
 hw/i386/kvm/pci-assign.c       |  6 +++---
 hw/i386/pc.c                   | 10 +++++-----
 hw/i386/pc_piix.c              |  8 ++++----
 hw/i386/pc_q35.c               |  6 +++---
 hw/misc/aspeed_sdmc.c          |  8 ++++----
 hw/nvram/fw_cfg.c              |  2 +-
 hw/pci-host/piix.c             |  2 +-
 hw/ppc/pnv.c                   |  6 +++---
 hw/ppc/spapr.c                 |  4 ++--
 hw/ppc/spapr_iommu.c           |  2 +-
 hw/scsi/scsi-bus.c             |  6 +++---
 hw/usb/dev-smartcard-reader.c  |  6 +++---
 hw/usb/redirect.c              |  2 +-
 net/tap-linux.c                |  2 +-
 target/i386/cpu.c              | 22 +++++++++++-----------
 target/i386/kvm.c              | 12 ++++++------
 target/s390x/cpu_models.c      |  6 +++---
 target/s390x/kvm.c             |  4 ++--
 tests/test-qdev-global-props.c |  6 +++---
 trace/control.c                |  8 ++++----
 vl.c                           | 20 ++++++++++----------
 36 files changed, 121 insertions(+), 122 deletions(-)

diff --git a/block/backup.c b/block/backup.c
index b69184e..504a089 100644
--- a/block/backup.c
+++ b/block/backup.c
@@ -639,12 +639,12 @@ BlockJob *backup_job_create(const char *job_id, BlockDriverState *bs,
     ret = bdrv_get_info(target, &bdi);
     if (ret == -ENOTSUP && !target->backing) {
         /* Cluster size is not defined */
-        error_report("WARNING: The target block device doesn't provide "
-                     "information about the block size and it doesn't have a "
-                     "backing file. The default block size of %u bytes is "
-                     "used. If the actual block size of the target exceeds "
-                     "this default, the backup may be unusable",
-                     BACKUP_CLUSTER_SIZE_DEFAULT);
+        warn_report("The target block device doesn't provide "
+                    "information about the block size and it doesn't have a "
+                    "backing file. The default block size of %u bytes is "
+                    "used. If the actual block size of the target exceeds "
+                    "this default, the backup may be unusable",
+                    BACKUP_CLUSTER_SIZE_DEFAULT);
         job->cluster_size = BACKUP_CLUSTER_SIZE_DEFAULT;
     } else if (ret < 0 && !target->backing) {
         error_setg_errno(errp, -ret,
diff --git a/block/gluster.c b/block/gluster.c
index addceed..c2a5241 100644
--- a/block/gluster.c
+++ b/block/gluster.c
@@ -345,8 +345,7 @@ static int qemu_gluster_parse_uri(BlockdevOptionsGluster *gconf,
         is_unix = true;
     } else if (!strcmp(uri->scheme, "gluster+rdma")) {
         gsconf->type = SOCKET_ADDRESS_TYPE_INET;
-        error_report("Warning: rdma feature is not supported, falling "
-                     "back to tcp");
+        warn_report("rdma feature is not supported, falling back to tcp");
     } else {
         ret = -EINVAL;
         goto out;
diff --git a/block/iscsi.c b/block/iscsi.c
index 54067e2..3aa438a 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -1761,9 +1761,9 @@ static int iscsi_open(BlockDriverState *bs, QDict *options, int flags,
      * filename encoded options */
     filename = qdict_get_try_str(options, "filename");
     if (filename) {
-        error_report("Warning: 'filename' option specified. "
-                      "This is an unsupported option, and may be deprecated "
-                      "in the future");
+        warn_report("'filename' option specified. "
+                    "This is an unsupported option, and may be deprecated "
+                    "in the future");
         iscsi_parse_filename(filename, options, &local_err);
         if (local_err) {
             ret = -EINVAL;
diff --git a/block/nfs.c b/block/nfs.c
index c3c5de0..5e98528 100644
--- a/block/nfs.c
+++ b/block/nfs.c
@@ -558,8 +558,8 @@ static int64_t nfs_client_open(NFSClient *client, QDict *options,
         }
         client->readahead = qemu_opt_get_number(opts, "readahead-size", 0);
         if (client->readahead > QEMU_NFS_MAX_READAHEAD_SIZE) {
-            error_report("NFS Warning: Truncating NFS readahead "
-                         "size to %d", QEMU_NFS_MAX_READAHEAD_SIZE);
+            warn_report("Truncating NFS readahead size to %d",
+                        QEMU_NFS_MAX_READAHEAD_SIZE);
             client->readahead = QEMU_NFS_MAX_READAHEAD_SIZE;
         }
         nfs_set_readahead(client->context, client->readahead);
@@ -579,8 +579,8 @@ static int64_t nfs_client_open(NFSClient *client, QDict *options,
         }
         client->pagecache = qemu_opt_get_number(opts, "page-cache-size", 0);
         if (client->pagecache > QEMU_NFS_MAX_PAGECACHE_SIZE) {
-            error_report("NFS Warning: Truncating NFS pagecache "
-                         "size to %d pages", QEMU_NFS_MAX_PAGECACHE_SIZE);
+            warn_report("Truncating NFS pagecache size to %d pages",
+                        QEMU_NFS_MAX_PAGECACHE_SIZE);
             client->pagecache = QEMU_NFS_MAX_PAGECACHE_SIZE;
         }
         nfs_set_pagecache(client->context, client->pagecache);
@@ -595,8 +595,8 @@ static int64_t nfs_client_open(NFSClient *client, QDict *options,
         /* limit the maximum debug level to avoid potential flooding
          * of our log files. */
         if (client->debug > QEMU_NFS_MAX_DEBUG_LEVEL) {
-            error_report("NFS Warning: Limiting NFS debug level "
-                         "to %d", QEMU_NFS_MAX_DEBUG_LEVEL);
+            warn_report("Limiting NFS debug level to %d",
+                        QEMU_NFS_MAX_DEBUG_LEVEL);
             client->debug = QEMU_NFS_MAX_DEBUG_LEVEL;
         }
         nfs_set_debug(client->context, client->debug);
diff --git a/block/rbd.c b/block/rbd.c
index 9da02cd..d461f7d 100644
--- a/block/rbd.c
+++ b/block/rbd.c
@@ -555,9 +555,9 @@ static int qemu_rbd_open(BlockDriverState *bs, QDict *options, int flags,
      * filename encoded options */
     filename = qdict_get_try_str(options, "filename");
     if (filename) {
-        error_report("Warning: 'filename' option specified. "
-                      "This is an unsupported option, and may be deprecated "
-                      "in the future");
+        warn_report("'filename' option specified. "
+                    "This is an unsupported option, and may be deprecated "
+                    "in the future");
         qemu_rbd_parse_filename(filename, options, &local_err);
         if (local_err) {
             r = -EINVAL;
diff --git a/block/ssh.c b/block/ssh.c
index 5296441..07a57eb 100644
--- a/block/ssh.c
+++ b/block/ssh.c
@@ -1114,8 +1114,8 @@ static coroutine_fn int ssh_co_writev(BlockDriverState *bs,
 static void unsafe_flush_warning(BDRVSSHState *s, const char *what)
 {
     if (!s->unsafe_flush_warning) {
-        error_report("warning: ssh server %s does not support fsync",
-                     s->inet->host);
+        warn_report("ssh server %s does not support fsync",
+                    s->inet->host);
         if (what) {
             error_report("to support fsync, you need %s", what);
         }
diff --git a/blockdev.c b/blockdev.c
index e2016b6..a521c85 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -914,7 +914,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
     copy_on_read = qemu_opt_get_bool(legacy_opts, "copy-on-read", false);
 
     if (read_only && copy_on_read) {
-        error_report("warning: disabling copy-on-read on read-only drive");
+        warn_report("disabling copy-on-read on read-only drive");
         copy_on_read = false;
     }
 
diff --git a/cpus.c b/cpus.c
index 14bb8d5..9bed61e 100644
--- a/cpus.c
+++ b/cpus.c
@@ -557,7 +557,7 @@ void qemu_start_warp_timer(void)
     if (deadline < 0) {
         static bool notified;
         if (!icount_sleep && !notified) {
-            error_report("WARNING: icount sleep disabled and no active timers");
+            warn_report("icount sleep disabled and no active timers");
             notified = true;
         }
         return;
diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
index 6c92bad..333dbb6 100644
--- a/hw/9pfs/9p.c
+++ b/hw/9pfs/9p.c
@@ -2376,7 +2376,7 @@ static void coroutine_fn v9fs_flush(void *opaque)
     trace_v9fs_flush(pdu->tag, pdu->id, tag);
 
     if (pdu->tag == tag) {
-        error_report("Warning: the guest sent a self-referencing 9P flush request");
+        warn_report("the guest sent a self-referencing 9P flush request");
     } else {
         QLIST_FOREACH(cancel_pdu, &s->active_list, next) {
             if (cancel_pdu->tag == tag) {
diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c
index d209b97..750c463 100644
--- a/hw/arm/highbank.c
+++ b/hw/arm/highbank.c
@@ -383,9 +383,9 @@ static void calxeda_init(MachineState *machine, enum cxmachines machine_id)
         highbank_binfo.write_board_setup = hb_write_board_setup;
         highbank_binfo.secure_board_setup = true;
     } else {
-        error_report("WARNING: cannot load built-in Monitor support "
-                     "if KVM is enabled. Some guests (such as Linux) "
-                     "may not boot.");
+        warn_report("cannot load built-in Monitor support "
+                    "if KVM is enabled. Some guests (such as Linux) "
+                    "may not boot.");
     }
 
     arm_load_kernel(ARM_CPU(first_cpu), &highbank_binfo);
diff --git a/hw/arm/imx25_pdk.c b/hw/arm/imx25_pdk.c
index 44e741f..7d42c74 100644
--- a/hw/arm/imx25_pdk.c
+++ b/hw/arm/imx25_pdk.c
@@ -80,9 +80,9 @@ static void imx25_pdk_init(MachineState *machine)
 
     /* We need to initialize our memory */
     if (machine->ram_size > (FSL_IMX25_SDRAM0_SIZE + FSL_IMX25_SDRAM1_SIZE)) {
-        error_report("WARNING: RAM size " RAM_ADDR_FMT " above max supported, "
-                     "reduced to %x", machine->ram_size,
-                     FSL_IMX25_SDRAM0_SIZE + FSL_IMX25_SDRAM1_SIZE);
+        warn_report("RAM size " RAM_ADDR_FMT " above max supported, "
+                    "reduced to %x", machine->ram_size,
+                    FSL_IMX25_SDRAM0_SIZE + FSL_IMX25_SDRAM1_SIZE);
         machine->ram_size = FSL_IMX25_SDRAM0_SIZE + FSL_IMX25_SDRAM1_SIZE;
     }
 
diff --git a/hw/arm/kzm.c b/hw/arm/kzm.c
index 2c96ee3..3ed6577 100644
--- a/hw/arm/kzm.c
+++ b/hw/arm/kzm.c
@@ -79,9 +79,9 @@ static void kzm_init(MachineState *machine)
 
     /* Check the amount of memory is compatible with the SOC */
     if (machine->ram_size > (FSL_IMX31_SDRAM0_SIZE + FSL_IMX31_SDRAM1_SIZE)) {
-        error_report("WARNING: RAM size " RAM_ADDR_FMT " above max supported, "
-                     "reduced to %x", machine->ram_size,
-                     FSL_IMX31_SDRAM0_SIZE + FSL_IMX31_SDRAM1_SIZE);
+        warn_report("RAM size " RAM_ADDR_FMT " above max supported, "
+                    "reduced to %x", machine->ram_size,
+                    FSL_IMX31_SDRAM0_SIZE + FSL_IMX31_SDRAM1_SIZE);
         machine->ram_size = FSL_IMX31_SDRAM0_SIZE + FSL_IMX31_SDRAM1_SIZE;
     }
 
diff --git a/hw/core/machine.c b/hw/core/machine.c
index ecb5552..dc431fa 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -741,11 +741,11 @@ static void machine_numa_finish_init(MachineState *machine)
         }
     }
     if (s->len && !qtest_enabled()) {
-        error_report("warning: CPU(s) not present in any NUMA nodes: %s",
-                     s->str);
-        error_report("warning: All CPU(s) up to maxcpus should be described "
-                     "in NUMA config, ability to start up with partial NUMA "
-                     "mappings is obsoleted and will be removed in future");
+        warn_report("CPU(s) not present in any NUMA nodes: %s",
+                    s->str);
+        warn_report("All CPU(s) up to maxcpus should be described "
+                    "in NUMA config, ability to start up with partial NUMA "
+                    "mappings is obsoleted and will be removed in future");
     }
     g_string_free(s, true);
 }
diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c
index f11d578..f5983c8 100644
--- a/hw/core/qdev-properties.c
+++ b/hw/core/qdev-properties.c
@@ -1132,15 +1132,15 @@ int qdev_prop_check_globals(void)
         oc = object_class_by_name(prop->driver);
         oc = object_class_dynamic_cast(oc, TYPE_DEVICE);
         if (!oc) {
-            error_report("Warning: global %s.%s has invalid class name",
-                       prop->driver, prop->property);
+            warn_report("global %s.%s has invalid class name",
+                        prop->driver, prop->property);
             ret = 1;
             continue;
         }
         dc = DEVICE_CLASS(oc);
         if (!dc->hotpluggable && !prop->used) {
-            error_report("Warning: global %s.%s=%s not used",
-                       prop->driver, prop->property, prop->value);
+            warn_report("global %s.%s=%s not used",
+                        prop->driver, prop->property, prop->value);
             ret = 1;
             continue;
         }
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 5464977..6b7bade 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -2766,17 +2766,17 @@ void acpi_build(AcpiBuildTables *tables, MachineState *machine)
                      ACPI_BUILD_ALIGN_SIZE);
         if (tables_blob->len > legacy_table_size) {
             /* Should happen only with PCI bridges and -M pc-i440fx-2.0.  */
-            error_report("Warning: migration may not work.");
+            warn_report("migration may not work.");
         }
         g_array_set_size(tables_blob, legacy_table_size);
     } else {
         /* Make sure we have a buffer in case we need to resize the tables. */
         if (tables_blob->len > ACPI_BUILD_TABLE_SIZE / 2) {
             /* As of QEMU 2.1, this fires with 160 VCPUs and 255 memory slots.  */
-            error_report("Warning: ACPI tables are larger than 64k.");
-            error_report("Warning: migration may not work.");
-            error_report("Warning: please remove CPUs, NUMA nodes, "
-                         "memory slots or PCI bridges.");
+            warn_report("ACPI tables are larger than 64k.");
+            warn_report("migration may not work.");
+            warn_report("please remove CPUs, NUMA nodes, "
+                        "memory slots or PCI bridges.");
         }
         acpi_align_size(tables_blob, ACPI_BUILD_TABLE_SIZE);
     }
diff --git a/hw/i386/kvm/pci-assign.c b/hw/i386/kvm/pci-assign.c
index 9f2615c..33e20cb 100644
--- a/hw/i386/kvm/pci-assign.c
+++ b/hw/i386/kvm/pci-assign.c
@@ -1353,9 +1353,9 @@ static int assigned_device_pci_cap_init(PCIDevice *pci_dev, Error **errp)
                            PCI_CAP_ID_EXP);
                 return -EINVAL;
             } else if (size != 0x3c) {
-                error_report("WARNING, %s: PCIe cap-id 0x%x has "
-                             "non-standard size 0x%x; std size should be 0x3c",
-                             __func__, PCI_CAP_ID_EXP, size);
+                warn_report("%s: PCIe cap-id 0x%x has "
+                            "non-standard size 0x%x; std size should be 0x3c",
+                            __func__, PCI_CAP_ID_EXP, size);
             }
         } else if (version == 0) {
             uint16_t vid, did;
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 224fe58..465e91c 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -381,8 +381,8 @@ ISADevice *pc_find_fdc0(void)
     }
 
     if (state.multiple) {
-        error_report("warning: multiple floppy disk controllers with "
-                     "iobase=0x3f0 have been found");
+        warn_report("multiple floppy disk controllers with "
+                    "iobase=0x3f0 have been found");
         error_printf("the one being picked for CMOS setup might not reflect "
                      "your intent\n");
     }
@@ -2087,9 +2087,9 @@ static void pc_machine_set_max_ram_below_4g(Object *obj, Visitor *v,
     }
 
     if (value < (1ULL << 20)) {
-        error_report("Warning: small max_ram_below_4g(%"PRIu64
-                     ") less than 1M.  BIOS may not work..",
-                     value);
+        warn_report("small max_ram_below_4g(%"PRIu64
+                    ") less than 1M.  BIOS may not work..",
+                    value);
     }
 
     pcms->max_ram_below_4g = value;
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 22dbef6..11b4336 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -131,10 +131,10 @@ static void pc_init1(MachineState *machine,
                     lowmem = 0xc0000000;
                 }
                 if (lowmem & ((1ULL << 30) - 1)) {
-                    error_report("Warning: Large machine and max_ram_below_4g "
-                                 "(%" PRIu64 ") not a multiple of 1G; "
-                                 "possible bad performance.",
-                                 pcms->max_ram_below_4g);
+                    warn_report("Large machine and max_ram_below_4g "
+                                "(%" PRIu64 ") not a multiple of 1G; "
+                                "possible bad performance.",
+                                pcms->max_ram_below_4g);
                 }
             }
         }
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 8f696b7..1653a47 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -101,9 +101,9 @@ static void pc_q35_init(MachineState *machine)
         lowmem = pcms->max_ram_below_4g;
         if (machine->ram_size - lowmem > lowmem &&
             lowmem & ((1ULL << 30) - 1)) {
-            error_report("Warning: Large machine and max_ram_below_4g(%"PRIu64
-                         ") not a multiple of 1G; possible bad performance.",
-                         pcms->max_ram_below_4g);
+            warn_report("Large machine and max_ram_below_4g(%"PRIu64
+                        ") not a multiple of 1G; possible bad performance.",
+                        pcms->max_ram_below_4g);
         }
     }
 
diff --git a/hw/misc/aspeed_sdmc.c b/hw/misc/aspeed_sdmc.c
index 5f3ac0b..f0b3053 100644
--- a/hw/misc/aspeed_sdmc.c
+++ b/hw/misc/aspeed_sdmc.c
@@ -157,8 +157,8 @@ static int ast2400_rambits(AspeedSDMCState *s)
     }
 
     /* use a common default */
-    error_report("warning: Invalid RAM size 0x%" PRIx64
-                 ". Using default 256M", s->ram_size);
+    warn_report("Invalid RAM size 0x%" PRIx64 ". Using default 256M",
+                s->ram_size);
     s->ram_size = 256 << 20;
     return ASPEED_SDMC_DRAM_256MB;
 }
@@ -179,8 +179,8 @@ static int ast2500_rambits(AspeedSDMCState *s)
     }
 
     /* use a common default */
-    error_report("warning: Invalid RAM size 0x%" PRIx64
-                 ". Using default 512M", s->ram_size);
+    warn_report("Invalid RAM size 0x%" PRIx64 ". Using default 512M",
+                s->ram_size);
     s->ram_size = 512 << 20;
     return ASPEED_SDMC_AST2500_512MB;
 }
diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
index 99bdbc2..e881e3b 100644
--- a/hw/nvram/fw_cfg.c
+++ b/hw/nvram/fw_cfg.c
@@ -781,7 +781,7 @@ static int get_fw_cfg_order(FWCfgState *s, const char *name)
     }
 
     /* Stick unknown stuff at the end. */
-    error_report("warning: Unknown firmware file in legacy mode: %s", name);
+    warn_report("Unknown firmware file in legacy mode: %s", name);
     return FW_CFG_ORDER_OVERRIDE_LAST;
 }
 
diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
index a2c1033..072a04e 100644
--- a/hw/pci-host/piix.c
+++ b/hw/pci-host/piix.c
@@ -307,7 +307,7 @@ static void i440fx_realize(PCIDevice *dev, Error **errp)
     dev->config[I440FX_SMRAM] = 0x02;
 
     if (object_property_get_bool(qdev_get_machine(), "iommu", NULL)) {
-        error_report("warning: i440fx doesn't support emulated iommu");
+        warn_report("i440fx doesn't support emulated iommu");
     }
 }
 
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index a4cd733..4722115 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -160,13 +160,13 @@ static void powernv_create_core_node(PnvChip *chip, PnvCore *pc, void *fdt)
         _FDT((fdt_setprop_cell(fdt, offset, "d-cache-size",
                                pcc->l1_dcache_size)));
     } else {
-        error_report("Warning: Unknown L1 dcache size for cpu");
+        warn_report("Unknown L1 dcache size for cpu");
     }
     if (pcc->l1_icache_size) {
         _FDT((fdt_setprop_cell(fdt, offset, "i-cache-size",
                                pcc->l1_icache_size)));
     } else {
-        error_report("Warning: Unknown L1 icache size for cpu");
+        warn_report("Unknown L1 icache size for cpu");
     }
 
     _FDT((fdt_setprop_cell(fdt, offset, "timebase-frequency", tbfreq)));
@@ -556,7 +556,7 @@ static void ppc_powernv_init(MachineState *machine)
 
     /* allocate RAM */
     if (machine->ram_size < (1 * G_BYTE)) {
-        error_report("Warning: skiboot may not work with < 1GB of RAM");
+        warn_report("skiboot may not work with < 1GB of RAM");
     }
 
     ram = g_new(MemoryRegion, 1);
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index d38563d..16638ce 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -534,13 +534,13 @@ static void spapr_populate_cpu_dt(CPUState *cs, void *fdt, int offset,
         _FDT((fdt_setprop_cell(fdt, offset, "d-cache-size",
                                pcc->l1_dcache_size)));
     } else {
-        error_report("Warning: Unknown L1 dcache size for cpu");
+        warn_report("Unknown L1 dcache size for cpu");
     }
     if (pcc->l1_icache_size) {
         _FDT((fdt_setprop_cell(fdt, offset, "i-cache-size",
                                pcc->l1_icache_size)));
     } else {
-        error_report("Warning: Unknown L1 icache size for cpu");
+        warn_report("Unknown L1 icache size for cpu");
     }
 
     _FDT((fdt_setprop_cell(fdt, offset, "timebase-frequency", tbfreq)));
diff --git a/hw/ppc/spapr_iommu.c b/hw/ppc/spapr_iommu.c
index 8656a54..583afc1 100644
--- a/hw/ppc/spapr_iommu.c
+++ b/hw/ppc/spapr_iommu.c
@@ -334,7 +334,7 @@ void spapr_tce_table_enable(sPAPRTCETable *tcet,
                             uint32_t nb_table)
 {
     if (tcet->nb_table) {
-        error_report("Warning: trying to enable already enabled TCE table");
+        warn_report("trying to enable already enabled TCE table");
         return;
     }
 
diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
index f557446..23c51de 100644
--- a/hw/scsi/scsi-bus.c
+++ b/hw/scsi/scsi-bus.c
@@ -282,9 +282,9 @@ void scsi_bus_legacy_handle_cmdline(SCSIBus *bus, bool deprecated)
                 continue;       /* claimed */
             }
             if (!dinfo->is_default) {
-                error_report("warning: bus=%d,unit=%d is deprecated with this"
-                             " machine type",
-                             bus->busnr, unit);
+                warn_report("bus=%d,unit=%d is deprecated with this"
+                            " machine type",
+                            bus->busnr, unit);
             }
         }
         scsi_bus_legacy_add_drive(bus, blk_by_legacy_dinfo(dinfo),
diff --git a/hw/usb/dev-smartcard-reader.c b/hw/usb/dev-smartcard-reader.c
index 49cb182..bef1f03 100644
--- a/hw/usb/dev-smartcard-reader.c
+++ b/hw/usb/dev-smartcard-reader.c
@@ -1314,12 +1314,12 @@ static int ccid_card_init(DeviceState *qdev)
     int ret = 0;
 
     if (card->slot != 0) {
-        error_report("Warning: usb-ccid supports one slot, can't add %d",
-                card->slot);
+        warn_report("usb-ccid supports one slot, can't add %d",
+                    card->slot);
         return -1;
     }
     if (s->card != NULL) {
-        error_report("Warning: usb-ccid card already full, not adding");
+        warn_report("usb-ccid card already full, not adding");
         return -1;
     }
     ret = ccid_card_initfn(card);
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
index aa22d69..5b65965 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -193,7 +193,7 @@ static void usbredir_handle_status(USBRedirDevice *dev, USBPacket *p,
 #define WARNING(...) \
     do { \
         if (dev->debug >= usbredirparser_warning) { \
-            error_report("usb-redir warning: " __VA_ARGS__); \
+            warn_report("" __VA_ARGS__); \
         } \
     } while (0)
 #define INFO(...) \
diff --git a/net/tap-linux.c b/net/tap-linux.c
index a503fa9..535b1dd 100644
--- a/net/tap-linux.c
+++ b/net/tap-linux.c
@@ -55,7 +55,7 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
     ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
 
     if (ioctl(fd, TUNGETFEATURES, &features) == -1) {
-        error_report("warning: TUNGETFEATURES failed: %s", strerror(errno));
+        warn_report("TUNGETFEATURES failed: %s", strerror(errno));
         features = 0;
     }
 
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index c571772..da942d9 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -2060,15 +2060,15 @@ static void x86_cpu_parse_featurestr(const char *typename, char *features,
         name = featurestr;
 
         if (g_list_find_custom(plus_features, name, compare_string)) {
-            error_report("warning: Ambiguous CPU model string. "
-                         "Don't mix both \"+%s\" and \"%s=%s\"",
-                         name, name, val);
+            warn_report("Ambiguous CPU model string. "
+                        "Don't mix both \"+%s\" and \"%s=%s\"",
+                        name, name, val);
             ambiguous = true;
         }
         if (g_list_find_custom(minus_features, name, compare_string)) {
-            error_report("warning: Ambiguous CPU model string. "
-                         "Don't mix both \"-%s\" and \"%s=%s\"",
-                         name, name, val);
+            warn_report("Ambiguous CPU model string. "
+                        "Don't mix both \"-%s\" and \"%s=%s\"",
+                        name, name, val);
             ambiguous = true;
         }
 
@@ -2096,8 +2096,8 @@ static void x86_cpu_parse_featurestr(const char *typename, char *features,
     }
 
     if (ambiguous) {
-        error_report("warning: Compatibility of ambiguous CPU model "
-                     "strings won't be kept on future QEMU versions");
+        warn_report("Compatibility of ambiguous CPU model "
+                    "strings won't be kept on future QEMU versions");
     }
 }
 
@@ -3547,9 +3547,9 @@ static void x86_cpu_realizefn(DeviceState *dev, Error **errp)
              */
             if (cpu->phys_bits != host_phys_bits && cpu->phys_bits != 0 &&
                 !warned) {
-                error_report("Warning: Host physical bits (%u)"
-                                 " does not match phys-bits property (%u)",
-                                 host_phys_bits, cpu->phys_bits);
+                warn_report("Host physical bits (%u)"
+                            " does not match phys-bits property (%u)",
+                            host_phys_bits, cpu->phys_bits);
                 warned = true;
             }
 
diff --git a/target/i386/kvm.c b/target/i386/kvm.c
index f84a49d..a6613e1 100644
--- a/target/i386/kvm.c
+++ b/target/i386/kvm.c
@@ -600,10 +600,10 @@ static int kvm_arch_set_tsc_khz(CPUState *cs)
                        kvm_vcpu_ioctl(cs, KVM_GET_TSC_KHZ) :
                        -ENOTSUP;
         if (cur_freq <= 0 || cur_freq != env->tsc_khz) {
-            error_report("warning: TSC frequency mismatch between "
-                         "VM (%" PRId64 " kHz) and host (%d kHz), "
-                         "and TSC scaling unavailable",
-                         env->tsc_khz, cur_freq);
+            warn_report("TSC frequency mismatch between "
+                        "VM (%" PRId64 " kHz) and host (%d kHz), "
+                        "and TSC scaling unavailable",
+                        env->tsc_khz, cur_freq);
             return r;
         }
     }
@@ -919,8 +919,8 @@ int kvm_arch_init_vcpu(CPUState *cs)
                 error_report("kvm: LMCE not supported");
                 return -ENOTSUP;
             }
-            error_report("warning: Unsupported MCG_CAP bits: 0x%" PRIx64,
-                         unsupported_caps);
+            warn_report("Unsupported MCG_CAP bits: 0x%" PRIx64,
+                        unsupported_caps);
         }
 
         env->mcg_cap &= mcg_cap | MCG_CAP_BANKS_MASK;
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index 7cb55dc..f56d57b 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -677,9 +677,9 @@ static void check_consistency(const S390CPUModel *model)
     for (i = 0; i < ARRAY_SIZE(dep); i++) {
         if (test_bit(dep[i][0], model->features) &&
             !test_bit(dep[i][1], model->features)) {
-            error_report("Warning: \'%s\' requires \'%s\'.",
-                         s390_feat_def(dep[i][0])->name,
-                         s390_feat_def(dep[i][1])->name);
+            warn_report("\'%s\' requires \'%s\'.",
+                        s390_feat_def(dep[i][0])->name,
+                        s390_feat_def(dep[i][1])->name);
         }
     }
 }
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index a3d0019..271bd65 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -2675,8 +2675,8 @@ void kvm_s390_apply_cpu_model(const S390CPUModel *model, Error **errp)
     /* enable CMM via CMMA - disable on hugetlbfs */
     if (test_bit(S390_FEAT_CMM, model->features)) {
         if (mem_path) {
-            error_report("Warning: CMM will not be enabled because it is not "
-                         "compatible to hugetlbfs.");
+            warn_report("CMM will not be enabled because it is not "
+                        "compatible to hugetlbfs.");
         } else {
             kvm_s390_enable_cmma();
         }
diff --git a/tests/test-qdev-global-props.c b/tests/test-qdev-global-props.c
index 48e5b73..b25fe89 100644
--- a/tests/test-qdev-global-props.c
+++ b/tests/test-qdev-global-props.c
@@ -232,10 +232,10 @@ static void test_dynamic_globalprop(void)
     g_test_trap_assert_passed();
     g_test_trap_assert_stderr_unmatched("*prop1*");
     g_test_trap_assert_stderr_unmatched("*prop2*");
-    g_test_trap_assert_stderr("*Warning: global dynamic-prop-type-bad.prop3 has invalid class name\n*");
+    g_test_trap_assert_stderr("*warning: global dynamic-prop-type-bad.prop3 has invalid class name\n*");
     g_test_trap_assert_stderr_unmatched("*prop4*");
-    g_test_trap_assert_stderr("*Warning: global nohotplug-type.prop5=105 not used\n*");
-    g_test_trap_assert_stderr("*Warning: global nondevice-type.prop6 has invalid class name\n*");
+    g_test_trap_assert_stderr("*warning: global nohotplug-type.prop5=105 not used\n*");
+    g_test_trap_assert_stderr("*warning: global nondevice-type.prop6 has invalid class name\n*");
     g_test_trap_assert_stdout("");
 }
 
diff --git a/trace/control.c b/trace/control.c
index 9b157b0..f5fb11d 100644
--- a/trace/control.c
+++ b/trace/control.c
@@ -171,8 +171,8 @@ static void do_trace_enable_events(const char *line_buf)
     while ((ev = trace_event_iter_next(&iter)) != NULL) {
         if (!trace_event_get_state_static(ev)) {
             if (!is_pattern) {
-                error_report("WARNING: trace event '%s' is not traceable",
-                             line_ptr);
+                warn_report("trace event '%s' is not traceable",
+                            line_ptr);
                 return;
             }
             continue;
@@ -186,8 +186,8 @@ static void do_trace_enable_events(const char *line_buf)
     }
 
     if (!is_pattern) {
-        error_report("WARNING: trace event '%s' does not exist",
-                     line_ptr);
+        warn_report("trace event '%s' does not exist",
+                    line_ptr);
     }
 }
 
diff --git a/vl.c b/vl.c
index f7560de..8efd48b 100644
--- a/vl.c
+++ b/vl.c
@@ -952,8 +952,8 @@ static void bt_vhci_add(int vlan_id)
     struct bt_scatternet_s *vlan = qemu_find_bt_vlan(vlan_id);
 
     if (!vlan->slave)
-        error_report("warning: adding a VHCI to an empty scatternet %i",
-                     vlan_id);
+        warn_report("adding a VHCI to an empty scatternet %i",
+                    vlan_id);
 
     bt_vhci_init(bt_new_hci(vlan));
 }
@@ -979,8 +979,8 @@ static struct bt_device_s *bt_device_add(const char *opt)
     vlan = qemu_find_bt_vlan(vlan_id);
 
     if (!vlan->slave)
-        error_report("warning: adding a slave device to an empty scatternet %i",
-                     vlan_id);
+        warn_report("adding a slave device to an empty scatternet %i",
+                    vlan_id);
 
     if (!strcmp(devname, "keyboard"))
         return bt_keyboard_init(vlan);
@@ -2302,8 +2302,8 @@ static int parse_fw_cfg(void *opaque, QemuOpts *opts, Error **errp)
         return -1;
     }
     if (strncmp(name, "opt/", 4) != 0) {
-        error_report("warning: externally provided fw_cfg item names "
-                     "should be prefixed with \"opt/\"");
+        warn_report("externally provided fw_cfg item names "
+                    "should be prefixed with \"opt/\"");
     }
     if (nonempty_str(str)) {
         size = strlen(str); /* NUL terminator NOT included in fw_cfg blob */
@@ -3760,7 +3760,7 @@ int main(int argc, char **argv, char **envp)
                 qemu_opts_parse_noisily(olist, "accel=tcg", false);
                 break;
             case QEMU_OPTION_no_kvm_pit: {
-                error_report("warning: ignoring deprecated option");
+                warn_report("ignoring deprecated option");
                 break;
             }
             case QEMU_OPTION_no_kvm_pit_reinjection: {
@@ -3770,8 +3770,8 @@ int main(int argc, char **argv, char **envp)
                     .value    = "discard",
                 };
 
-                error_report("warning: deprecated, replaced by "
-                             "-global kvm-pit.lost_tick_policy=discard");
+                warn_report("deprecated, replaced by "
+                            "-global kvm-pit.lost_tick_policy=discard");
                 qdev_prop_register_global(&kvm_pit_lost_tick_policy);
                 break;
             }
@@ -3896,7 +3896,7 @@ int main(int argc, char **argv, char **envp)
                 }
                 break;
             case QEMU_OPTION_tdf:
-                error_report("warning: ignoring deprecated option");
+                warn_report("ignoring deprecated option");
                 break;
             case QEMU_OPTION_name:
                 opts = qemu_opts_parse_noisily(qemu_find_opts("name"),
-- 
2.7.5

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

* [Qemu-devel] [PULL 7/9] char-socket: Report TCP socket waiting as information
  2017-07-13 13:27 [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 Markus Armbruster
                   ` (5 preceding siblings ...)
  2017-07-13 13:27 ` [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report() Markus Armbruster
@ 2017-07-13 13:27 ` Markus Armbruster
  2017-07-13 13:27 ` [Qemu-devel] [PULL 8/9] error: Implement the warn and free Error functions Markus Armbruster
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 26+ messages in thread
From: Markus Armbruster @ 2017-07-13 13:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alistair Francis

From: Alistair Francis <alistair.francis@xilinx.com>

When QEMU is waiting for a TCP socket connection it reports that message as
an error. This isn't an error it is just information so let's change the
report to use info_report() instead.

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <b3f3601c52843afca9a9b12c7a4fefd68e60de32.1499866456.git.alistair.francis@xilinx.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 chardev/char-socket.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/chardev/char-socket.c b/chardev/char-socket.c
index ccc499c..a050a68 100644
--- a/chardev/char-socket.c
+++ b/chardev/char-socket.c
@@ -765,8 +765,8 @@ static int tcp_chr_wait_connected(Chardev *chr, Error **errp)
      * in TLS and telnet cases, only wait for an accepted socket */
     while (!s->ioc) {
         if (s->is_listen) {
-            error_report("QEMU waiting for connection on: %s",
-                         chr->filename);
+            info_report("QEMU waiting for connection on: %s",
+                        chr->filename);
             qio_channel_set_blocking(QIO_CHANNEL(s->listen_ioc), true, NULL);
             tcp_chr_accept(QIO_CHANNEL(s->listen_ioc), G_IO_IN, chr);
             qio_channel_set_blocking(QIO_CHANNEL(s->listen_ioc), false, NULL);
-- 
2.7.5

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

* [Qemu-devel] [PULL 8/9] error: Implement the warn and free Error functions
  2017-07-13 13:27 [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 Markus Armbruster
                   ` (6 preceding siblings ...)
  2017-07-13 13:27 ` [Qemu-devel] [PULL 7/9] char-socket: Report TCP socket waiting as information Markus Armbruster
@ 2017-07-13 13:27 ` Markus Armbruster
  2017-07-13 13:27 ` [Qemu-devel] [PULL 9/9] Convert error_report*_err() to warn_report*_err() Markus Armbruster
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 26+ messages in thread
From: Markus Armbruster @ 2017-07-13 13:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alistair Francis

From: Alistair Francis <alistair.francis@xilinx.com>

Implement warn_report_err() and warn_reportf_err() functions which
are the same as the error_report_err() and error_reportf_err()
functions except report a warning instead of an error.

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <276ff93eadc0b01b8243cc61ffc331f77922c0d0.1499866456.git.alistair.francis@xilinx.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 include/qapi/error.h  | 11 +++++++++++
 scripts/checkpatch.pl |  1 +
 util/error.c          | 20 ++++++++++++++++++++
 3 files changed, 32 insertions(+)

diff --git a/include/qapi/error.h b/include/qapi/error.h
index 7e532d0..af53b34 100644
--- a/include/qapi/error.h
+++ b/include/qapi/error.h
@@ -267,11 +267,22 @@ void error_free(Error *err);
 void error_free_or_abort(Error **errp);
 
 /*
+ * Convenience function to warn_report() and free @err.
+ */
+void warn_report_err(Error *err);
+
+/*
  * Convenience function to error_report() and free @err.
  */
 void error_report_err(Error *err);
 
 /*
+ * Convenience function to error_prepend(), warn_report() and free @err.
+ */
+void warn_reportf_err(Error *err, const char *fmt, ...)
+    GCC_FMT_ATTR(2, 3);
+
+/*
  * Convenience function to error_prepend(), error_report() and free @err.
  */
 void error_reportf_err(Error *err, const char *fmt, ...)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 9287cc5..4e91122 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2533,6 +2533,7 @@ sub process {
 				error_setg_file_open|
 				error_set|
 				error_prepend|
+				warn_reportf_err|
 				error_reportf_err|
 				error_vreport|
 				warn_vreport|
diff --git a/util/error.c b/util/error.c
index 020b86b..3efdd69 100644
--- a/util/error.c
+++ b/util/error.c
@@ -232,6 +232,15 @@ void error_report_err(Error *err)
     error_free(err);
 }
 
+void warn_report_err(Error *err)
+{
+    warn_report("%s", error_get_pretty(err));
+    if (err->hint) {
+        error_printf_unless_qmp("%s", err->hint->str);
+    }
+    error_free(err);
+}
+
 void error_reportf_err(Error *err, const char *fmt, ...)
 {
     va_list ap;
@@ -242,6 +251,17 @@ void error_reportf_err(Error *err, const char *fmt, ...)
     error_report_err(err);
 }
 
+
+void warn_reportf_err(Error *err, const char *fmt, ...)
+{
+    va_list ap;
+
+    va_start(ap, fmt);
+    error_vprepend(&err, fmt, ap);
+    va_end(ap);
+    warn_report_err(err);
+}
+
 void error_free(Error *err)
 {
     if (err) {
-- 
2.7.5

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

* [Qemu-devel] [PULL 9/9] Convert error_report*_err() to warn_report*_err()
  2017-07-13 13:27 [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 Markus Armbruster
                   ` (7 preceding siblings ...)
  2017-07-13 13:27 ` [Qemu-devel] [PULL 8/9] error: Implement the warn and free Error functions Markus Armbruster
@ 2017-07-13 13:27 ` Markus Armbruster
  2017-07-13 13:46 ` [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 no-reply
  2017-07-14 10:05 ` Peter Maydell
  10 siblings, 0 replies; 26+ messages in thread
From: Markus Armbruster @ 2017-07-13 13:27 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alistair Francis, Paolo Bonzini, Richard Henderson,
	Eduardo Habkost, Michael S. Tsirkin

From: Alistair Francis <alistair.francis@xilinx.com>

Convert all uses of error_report*_err("Warning:"... to use
warn_report*_err() instead. This helps standardise on a single
method of printing warnings to the user.

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <d8e088757186955f40f04ec4f4be7f640d3c8660.1499866456.git.alistair.francis@xilinx.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/core/qdev-properties.c | 2 +-
 hw/i386/pc.c              | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c
index f5983c8..3d0bba2 100644
--- a/hw/core/qdev-properties.c
+++ b/hw/core/qdev-properties.c
@@ -1169,7 +1169,7 @@ static void qdev_prop_set_globals_for_type(DeviceState *dev,
                 error_propagate(prop->errp, err);
             } else {
                 assert(prop->user_provided);
-                error_reportf_err(err, "Warning: ");
+                warn_report_err(err);
             }
         }
     }
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 465e91c..bf541ca 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1320,8 +1320,7 @@ void pc_acpi_init(const char *default_dsdt)
 
         acpi_table_add_builtin(opts, &err);
         if (err) {
-            error_reportf_err(err, "WARNING: failed to load %s: ",
-                              filename);
+            warn_reportf_err(err, "failed to load %s: ", filename);
         }
         g_free(filename);
     }
-- 
2.7.5

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

* Re: [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13
  2017-07-13 13:27 [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 Markus Armbruster
                   ` (8 preceding siblings ...)
  2017-07-13 13:27 ` [Qemu-devel] [PULL 9/9] Convert error_report*_err() to warn_report*_err() Markus Armbruster
@ 2017-07-13 13:46 ` no-reply
  2017-07-14 10:05 ` Peter Maydell
  10 siblings, 0 replies; 26+ messages in thread
From: no-reply @ 2017-07-13 13:46 UTC (permalink / raw)
  To: armbru; +Cc: famz, qemu-devel

Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 1499952476-3454-1-git-send-email-armbru@redhat.com
Subject: [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

git config --local diff.renamelimit 0
git config --local diff.renames True

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]         patchew/1499952476-3454-1-git-send-email-armbru@redhat.com -> patchew/1499952476-3454-1-git-send-email-armbru@redhat.com
Switched to a new branch 'test'
43225f4 Convert error_report*_err() to warn_report*_err()
dc458e0 error: Implement the warn and free Error functions
018d8da char-socket: Report TCP socket waiting as information
8713482 Convert error_report() to warn_report()
f75e632 error: Functions to report warnings and informational messages
65bc053 util/qemu-error: Rename error_print_loc() to be more generic
739dd32 websock: Don't try to set *errp directly
ca32b14 block: Don't try to set *errp directly
818cfa7 xilinx: Fix latent error handling bug

=== OUTPUT BEGIN ===
Checking PATCH 1/9: xilinx: Fix latent error handling bug...
Checking PATCH 2/9: block: Don't try to set *errp directly...
Checking PATCH 3/9: websock: Don't try to set *errp directly...
Checking PATCH 4/9: util/qemu-error: Rename error_print_loc() to be more generic...
Checking PATCH 5/9: error: Functions to report warnings and informational messages...
Checking PATCH 6/9: Convert error_report() to warn_report()...
ERROR: line over 90 characters
#725: FILE: tests/test-qdev-global-props.c:235:
+    g_test_trap_assert_stderr("*warning: global dynamic-prop-type-bad.prop3 has invalid class name\n*");

WARNING: line over 80 characters
#729: FILE: tests/test-qdev-global-props.c:237:
+    g_test_trap_assert_stderr("*warning: global nohotplug-type.prop5=105 not used\n*");

ERROR: line over 90 characters
#730: FILE: tests/test-qdev-global-props.c:238:
+    g_test_trap_assert_stderr("*warning: global nondevice-type.prop6 has invalid class name\n*");

total: 2 errors, 1 warnings, 571 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 7/9: char-socket: Report TCP socket waiting as information...
Checking PATCH 8/9: error: Implement the warn and free Error functions...
Checking PATCH 9/9: Convert error_report*_err() to warn_report*_err()...
=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org

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

* Re: [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13
  2017-07-13 13:27 [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 Markus Armbruster
                   ` (9 preceding siblings ...)
  2017-07-13 13:46 ` [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 no-reply
@ 2017-07-14 10:05 ` Peter Maydell
  10 siblings, 0 replies; 26+ messages in thread
From: Peter Maydell @ 2017-07-14 10:05 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: QEMU Developers

On 13 July 2017 at 14:27, Markus Armbruster <armbru@redhat.com> wrote:
> The following changes since commit 31fe1c414501047cbb91b695bdccc0068496dcf6:
>
>   Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging (2017-07-11 17:13:49 +0100)
>
> are available in the git repository at:
>
>   git://repo.or.cz/qemu/armbru.git tags/pull-error-2017-07-13
>
> for you to fetch changes up to 88f83f3539fdedd5f315c5fe434ffcb7a010cc73:
>
>   Convert error_report*_err() to warn_report*_err() (2017-07-13 13:50:24 +0200)
>
> ----------------------------------------------------------------
> Error reporting patches for 2017-07-13
>
> ----------------------------------------------------------------
> Alistair Francis (6):
>       util/qemu-error: Rename error_print_loc() to be more generic
>       error: Functions to report warnings and informational messages
>       Convert error_report() to warn_report()
>       char-socket: Report TCP socket waiting as information
>       error: Implement the warn and free Error functions
>       Convert error_report*_err() to warn_report*_err()
>
> Eduardo Habkost (3):
>       xilinx: Fix latent error handling bug
>       block: Don't try to set *errp directly
>       websock: Don't try to set *errp directly

On my FreeBSD test setup test-char resulted in a warning:


TEST: tests/test-char... (pid=68152)
  /char/null:                                                          OK
  /char/invalid:                                                       OK
  /char/ringbuf:                                                       OK
  /char/mux:                                                           OK
  /char/stdio:                                                         OK
  /char/pipe:                                                          OK
  /char/file:                                                          OK
  /char/socket:                                                        main-loop
: WARNING: I/O thread spun for 1000 iterations
OK
  /char/udp:                                                           OK
  /char/serial:                                                        OK
PASS: tests/test-char

but I can't repro that and it doesn't look like it ought to be
related to the patches in this series, so I'm going to assume it
was just that the box got heavily loaded briefly or something.

Applied to master, thanks.

-- PMM

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

* Re: [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report()
  2017-07-13 13:27 ` [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report() Markus Armbruster
@ 2017-07-17 10:19   ` Kevin Wolf
  2017-07-18  5:17     ` Markus Armbruster
  0 siblings, 1 reply; 26+ messages in thread
From: Kevin Wolf @ 2017-07-17 10:19 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: qemu-devel, Peter Maydell, Cornelia Huck, Stefan Hajnoczi,
	Michael S. Tsirkin, Jeff Cody, Gerd Hoffmann, Rob Herring,
	Josh Durgin, Alexander Graf, Christian Borntraeger,
	Marcel Apfelbaum, Richard Henderson, Jason Wang, Eduardo Habkost,
	Peter Lieven, Greg Kurz, Alistair Francis, Peter Chubb,
	Ronnie Sahlberg, Paolo Bonzini, David Gibson, Peter Crosthwaite,
	Marcelo Tosatti, Richard W.M. Jones, Max Reitz, Aneesh Kumar K.V,
	Igor Mammedov

Am 13.07.2017 um 15:27 hat Markus Armbruster geschrieben:
> From: Alistair Francis <alistair.francis@xilinx.com>
> 
> Convert all uses of error_report("warning:"... to use warn_report()
> instead. This helps standardise on a single method of printing warnings
> to the user.
> 
> All of the warnings were changed using these two commands:
>     find ./* -type f -exec sed -i \
>       's|error_report(".*warning[,:] |warn_report("|Ig' {} +
> 
> Indentation fixed up manually afterwards.
> 
> The test-qdev-global-props test case was manually updated to ensure that
> this patch passes make check (as the test cases are case sensitive).

This patch broke qemu-iotests 051 because it neglected to update the
reference output. Not sure if a change of the message was even intended,
but with a error location prefix, the order changes:

-(qemu) QEMU_PROG: -drive if=scsi,media=cdrom: warning: bus=0,unit=0 is deprecated with this machine type
+(qemu) warning: qemu-system-x86_64: -drive if=scsi,media=cdrom: bus=0,unit=0 is deprecated with this machine type

Personally, I would expect the error location or at least the program
name to come first even for warnings.

Kevin

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

* Re: [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report()
  2017-07-17 10:19   ` Kevin Wolf
@ 2017-07-18  5:17     ` Markus Armbruster
  2017-07-24  6:30       ` Markus Armbruster
  0 siblings, 1 reply; 26+ messages in thread
From: Markus Armbruster @ 2017-07-18  5:17 UTC (permalink / raw)
  To: Kevin Wolf
  Cc: Peter Maydell, Marcelo Tosatti, Ronnie Sahlberg,
	Michael S. Tsirkin, Jason Wang, qemu-devel, Gerd Hoffmann,
	Rob Herring, Josh Durgin, Alexander Graf, Christian Borntraeger,
	Marcel Apfelbaum, Richard Henderson, Jeff Cody, Eduardo Habkost,
	Peter Lieven, Greg Kurz, Alistair Francis, Peter Chubb,
	Stefan Hajnoczi, Igor Mammedov, David Gibson, Peter Crosthwaite,
	Cornelia Huck, Richard W.M. Jones, Max Reitz, An eesh Kumar K.V,
	Paolo Bonzini

Kevin Wolf <kwolf@redhat.com> writes:

> Am 13.07.2017 um 15:27 hat Markus Armbruster geschrieben:
>> From: Alistair Francis <alistair.francis@xilinx.com>
>> 
>> Convert all uses of error_report("warning:"... to use warn_report()
>> instead. This helps standardise on a single method of printing warnings
>> to the user.
>> 
>> All of the warnings were changed using these two commands:
>>     find ./* -type f -exec sed -i \
>>       's|error_report(".*warning[,:] |warn_report("|Ig' {} +
>> 
>> Indentation fixed up manually afterwards.
>> 
>> The test-qdev-global-props test case was manually updated to ensure that
>> this patch passes make check (as the test cases are case sensitive).
>
> This patch broke qemu-iotests 051 because it neglected to update the
> reference output. Not sure if a change of the message was even intended,
> but with a error location prefix, the order changes:
>
> -(qemu) QEMU_PROG: -drive if=scsi,media=cdrom: warning: bus=0,unit=0 is deprecated with this machine type
> +(qemu) warning: qemu-system-x86_64: -drive if=scsi,media=cdrom: bus=0,unit=0 is deprecated with this machine type
>
> Personally, I would expect the error location or at least the program
> name to come first even for warnings.

I'll fix it.

While focusing on something other than block, I forget qemu-iotests
exist.  My fault, but it's a pretty common fault.  I reiterate my plea
to include (a sensible subset of) it in "make check".

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

* Re: [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report()
  2017-07-18  5:17     ` Markus Armbruster
@ 2017-07-24  6:30       ` Markus Armbruster
  2017-07-24  7:30         ` Paolo Bonzini
  0 siblings, 1 reply; 26+ messages in thread
From: Markus Armbruster @ 2017-07-24  6:30 UTC (permalink / raw)
  To: Kevin Wolf
  Cc: Peter Maydell, Marcelo Tosatti, Ronnie Sahlberg,
	Michael S. Tsirkin, Jason Wang, qemu-devel, Gerd Hoffmann,
	Rob Herring, Josh Durgin, Alexander Graf, Christian Borntraeger,
	Marcel Apfelbaum, Richard Henderson, Jeff Cody, Eduardo Habkost,
	Peter Lieven, Greg Kurz, Alistair Francis, Peter Chubb,
	Stefan Hajnoczi, Igor Mammedov, David Gibson, Peter Crosthwaite,
	Cornelia Huck, Richard W.M. Jones, Max Reitz, An eesh Kumar K.V,
	Paolo Bonzini

Markus Armbruster <armbru@redhat.com> writes:

> Kevin Wolf <kwolf@redhat.com> writes:
>
>> Am 13.07.2017 um 15:27 hat Markus Armbruster geschrieben:
>>> From: Alistair Francis <alistair.francis@xilinx.com>
>>> 
>>> Convert all uses of error_report("warning:"... to use warn_report()
>>> instead. This helps standardise on a single method of printing warnings
>>> to the user.
>>> 
>>> All of the warnings were changed using these two commands:
>>>     find ./* -type f -exec sed -i \
>>>       's|error_report(".*warning[,:] |warn_report("|Ig' {} +
>>> 
>>> Indentation fixed up manually afterwards.
>>> 
>>> The test-qdev-global-props test case was manually updated to ensure that
>>> this patch passes make check (as the test cases are case sensitive).
>>
>> This patch broke qemu-iotests 051 because it neglected to update the
>> reference output. Not sure if a change of the message was even intended,
>> but with a error location prefix, the order changes:
>>
>> -(qemu) QEMU_PROG: -drive if=scsi,media=cdrom: warning: bus=0,unit=0 is deprecated with this machine type
>> +(qemu) warning: qemu-system-x86_64: -drive if=scsi,media=cdrom: bus=0,unit=0 is deprecated with this machine type
>>
>> Personally, I would expect the error location or at least the program
>> name to come first even for warnings.
>
> I'll fix it.
>
> While focusing on something other than block, I forget qemu-iotests
> exist.  My fault, but it's a pretty common fault.  I reiterate my plea
> to include (a sensible subset of) it in "make check".

Oh, 051 isn't run by "make check-block".  It could just as well not
exist then.

What's the recommended way to run all iotests a build of QEMU can run?

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

* Re: [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report()
  2017-07-24  6:30       ` Markus Armbruster
@ 2017-07-24  7:30         ` Paolo Bonzini
  2017-07-25 19:08           ` [Qemu-devel] Slow tests on "make check" (was Re: [PULL 6/9] Convert error_report() to warn_report()) Eduardo Habkost
                             ` (3 more replies)
  0 siblings, 4 replies; 26+ messages in thread
From: Paolo Bonzini @ 2017-07-24  7:30 UTC (permalink / raw)
  To: Markus Armbruster, Kevin Wolf
  Cc: Peter Maydell, Marcelo Tosatti, Ronnie Sahlberg,
	Michael S. Tsirkin, Jason Wang, qemu-devel, Gerd Hoffmann,
	Rob Herring, Josh Durgin, Alexander Graf, Christian Borntraeger,
	Marcel Apfelbaum, Richard Henderson, Jeff Cody, Eduardo Habkost,
	Peter Lieven, Greg Kurz, Alistair Francis, Peter Chubb,
	Stefan Hajnoczi, Igor Mammedov, David Gibson, Peter Crosthwaite,
	Cornelia Huck, Richard W.M. Jones, Max Reitz, An eesh Kumar K.V

On 24/07/2017 08:30, Markus Armbruster wrote:
> Markus Armbruster <armbru@redhat.com> writes:
> 
>> Kevin Wolf <kwolf@redhat.com> writes:
>>
>>> Am 13.07.2017 um 15:27 hat Markus Armbruster geschrieben:
>>>> From: Alistair Francis <alistair.francis@xilinx.com>
>>>>
>>>> Convert all uses of error_report("warning:"... to use warn_report()
>>>> instead. This helps standardise on a single method of printing warnings
>>>> to the user.
>>>>
>>>> All of the warnings were changed using these two commands:
>>>>     find ./* -type f -exec sed -i \
>>>>       's|error_report(".*warning[,:] |warn_report("|Ig' {} +
>>>>
>>>> Indentation fixed up manually afterwards.
>>>>
>>>> The test-qdev-global-props test case was manually updated to ensure that
>>>> this patch passes make check (as the test cases are case sensitive).
>>>
>>> This patch broke qemu-iotests 051 because it neglected to update the
>>> reference output. Not sure if a change of the message was even intended,
>>> but with a error location prefix, the order changes:
>>>
>>> -(qemu) QEMU_PROG: -drive if=scsi,media=cdrom: warning: bus=0,unit=0 is deprecated with this machine type
>>> +(qemu) warning: qemu-system-x86_64: -drive if=scsi,media=cdrom: bus=0,unit=0 is deprecated with this machine type
>>>
>>> Personally, I would expect the error location or at least the program
>>> name to come first even for warnings.
>>
>> I'll fix it.
>>
>> While focusing on something other than block, I forget qemu-iotests
>> exist.  My fault, but it's a pretty common fault.  I reiterate my plea
>> to include (a sensible subset of) it in "make check".
> 
> Oh, 051 isn't run by "make check-block".  It could just as well not
> exist then.
> 
> What's the recommended way to run all iotests a build of QEMU can run?

I use "path-to-srcdir/tests/check-block.sh".  It takes about 20 minutes.

There are two issues with check-block:

* tests that require QEMU are skipped (rationale: you might be building
without the x86_64-softmmu target).

* it only runs the "quick" group, but I think we should reverse the
direction and mark slow tests specifically (that would cut about 10
minutes out of the 20).

It's a pity that qemu-iotests doesn't parallelize.  Maybe the harness
could be changed to something more standard.

Paolo

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

* [Qemu-devel] Slow tests on "make check" (was Re: [PULL 6/9] Convert error_report() to warn_report())
  2017-07-24  7:30         ` Paolo Bonzini
@ 2017-07-25 19:08           ` Eduardo Habkost
  2017-07-25 23:24             ` Alistair Francis
  2017-07-26 10:35             ` Daniel P. Berrange
  2017-07-26 10:30           ` [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report() Daniel P. Berrange
                             ` (2 subsequent siblings)
  3 siblings, 2 replies; 26+ messages in thread
From: Eduardo Habkost @ 2017-07-25 19:08 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Markus Armbruster, Kevin Wolf, Peter Maydell, Marcelo Tosatti,
	Ronnie Sahlberg, Michael S. Tsirkin, Jason Wang, qemu-devel,
	Gerd Hoffmann, Rob Herring, Josh Durgin, Alexander Graf,
	Christian Borntraeger, Marcel Apfelbaum, Richard Henderson,
	Jeff Cody, Peter Lieven, Greg Kurz, Alistair Francis,
	Peter Chubb, Stefan Hajnoczi, Igor Mammedov, David Gibson,
	Peter Crosthwaite, Cornelia Huck, Richard W.M. Jones, Max Reitz,
	An eesh Kumar K.V

On Mon, Jul 24, 2017 at 09:30:06AM +0200, Paolo Bonzini wrote:
> On 24/07/2017 08:30, Markus Armbruster wrote:
> > Markus Armbruster <armbru@redhat.com> writes:
> > 
> >> Kevin Wolf <kwolf@redhat.com> writes:
> >>
> >>> Am 13.07.2017 um 15:27 hat Markus Armbruster geschrieben:
> >>>> From: Alistair Francis <alistair.francis@xilinx.com>
> >>>>
> >>>> Convert all uses of error_report("warning:"... to use warn_report()
> >>>> instead. This helps standardise on a single method of printing warnings
> >>>> to the user.
> >>>>
> >>>> All of the warnings were changed using these two commands:
> >>>>     find ./* -type f -exec sed -i \
> >>>>       's|error_report(".*warning[,:] |warn_report("|Ig' {} +
> >>>>
> >>>> Indentation fixed up manually afterwards.
> >>>>
> >>>> The test-qdev-global-props test case was manually updated to ensure that
> >>>> this patch passes make check (as the test cases are case sensitive).
> >>>
> >>> This patch broke qemu-iotests 051 because it neglected to update the
> >>> reference output. Not sure if a change of the message was even intended,
> >>> but with a error location prefix, the order changes:
> >>>
> >>> -(qemu) QEMU_PROG: -drive if=scsi,media=cdrom: warning: bus=0,unit=0 is deprecated with this machine type
> >>> +(qemu) warning: qemu-system-x86_64: -drive if=scsi,media=cdrom: bus=0,unit=0 is deprecated with this machine type
> >>>
> >>> Personally, I would expect the error location or at least the program
> >>> name to come first even for warnings.
> >>
> >> I'll fix it.
> >>
> >> While focusing on something other than block, I forget qemu-iotests
> >> exist.  My fault, but it's a pretty common fault.  I reiterate my plea
> >> to include (a sensible subset of) it in "make check".
> > 
> > Oh, 051 isn't run by "make check-block".  It could just as well not
> > exist then.
> > 
> > What's the recommended way to run all iotests a build of QEMU can run?
> 
> I use "path-to-srcdir/tests/check-block.sh".  It takes about 20 minutes.
> 
> There are two issues with check-block:
> 
> * tests that require QEMU are skipped (rationale: you might be building
> without the x86_64-softmmu target).
> 
> * it only runs the "quick" group, but I think we should reverse the
> direction and mark slow tests specifically (that would cut about 10
> minutes out of the 20).

About slow tests: I never included device-crash-test on "make
check" because it would take too long to run.  Also, "make
check-help" lies when it says "make check" runs all tests,
because it doesn't run check-block.

Should we add a new Makefile target (check-all?) that includes
slower tests?

-- 
Eduardo

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

* Re: [Qemu-devel] Slow tests on "make check" (was Re: [PULL 6/9] Convert error_report() to warn_report())
  2017-07-25 19:08           ` [Qemu-devel] Slow tests on "make check" (was Re: [PULL 6/9] Convert error_report() to warn_report()) Eduardo Habkost
@ 2017-07-25 23:24             ` Alistair Francis
  2017-07-25 23:26               ` Alistair Francis
  2017-07-26 10:35             ` Daniel P. Berrange
  1 sibling, 1 reply; 26+ messages in thread
From: Alistair Francis @ 2017-07-25 23:24 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: Paolo Bonzini, Peter Maydell, Cornelia Huck, Ronnie Sahlberg,
	Michael S. Tsirkin, Jeff Cody, qemu-devel@nongnu.org Developers,
	Alexander Graf, Gerd Hoffmann, Rob Herring, Josh Durgin,
	Markus Armbruster, Christian Borntraeger, Marcel Apfelbaum,
	David Gibson, Jason Wang, Peter Lieven, Greg Kurz,
	Alistair Francis, Peter Chubb, Stefan Hajnoczi,
	Richard Henderson, Kevin Wolf, Peter Crosthwaite,
	Marcelo Tosatti, Richard W.M. Jones, Max Reitz,
	An eesh Kumar K.V, Igor Mammedov

On Tue, Jul 25, 2017 at 12:08 PM, Eduardo Habkost <ehabkost@redhat.com> wrote:
> On Mon, Jul 24, 2017 at 09:30:06AM +0200, Paolo Bonzini wrote:
>> On 24/07/2017 08:30, Markus Armbruster wrote:
>> > Markus Armbruster <armbru@redhat.com> writes:
>> >
>> >> Kevin Wolf <kwolf@redhat.com> writes:
>> >>
>> >>> Am 13.07.2017 um 15:27 hat Markus Armbruster geschrieben:
>> >>>> From: Alistair Francis <alistair.francis@xilinx.com>
>> >>>>
>> >>>> Convert all uses of error_report("warning:"... to use warn_report()
>> >>>> instead. This helps standardise on a single method of printing warnings
>> >>>> to the user.
>> >>>>
>> >>>> All of the warnings were changed using these two commands:
>> >>>>     find ./* -type f -exec sed -i \
>> >>>>       's|error_report(".*warning[,:] |warn_report("|Ig' {} +
>> >>>>
>> >>>> Indentation fixed up manually afterwards.
>> >>>>
>> >>>> The test-qdev-global-props test case was manually updated to ensure that
>> >>>> this patch passes make check (as the test cases are case sensitive).
>> >>>
>> >>> This patch broke qemu-iotests 051 because it neglected to update the
>> >>> reference output. Not sure if a change of the message was even intended,
>> >>> but with a error location prefix, the order changes:
>> >>>
>> >>> -(qemu) QEMU_PROG: -drive if=scsi,media=cdrom: warning: bus=0,unit=0 is deprecated with this machine type
>> >>> +(qemu) warning: qemu-system-x86_64: -drive if=scsi,media=cdrom: bus=0,unit=0 is deprecated with this machine type
>> >>>
>> >>> Personally, I would expect the error location or at least the program
>> >>> name to come first even for warnings.
>> >>
>> >> I'll fix it.
>> >>
>> >> While focusing on something other than block, I forget qemu-iotests
>> >> exist.  My fault, but it's a pretty common fault.  I reiterate my plea
>> >> to include (a sensible subset of) it in "make check".
>> >
>> > Oh, 051 isn't run by "make check-block".  It could just as well not
>> > exist then.
>> >
>> > What's the recommended way to run all iotests a build of QEMU can run?
>>
>> I use "path-to-srcdir/tests/check-block.sh".  It takes about 20 minutes.
>>
>> There are two issues with check-block:
>>
>> * tests that require QEMU are skipped (rationale: you might be building
>> without the x86_64-softmmu target).
>>
>> * it only runs the "quick" group, but I think we should reverse the
>> direction and mark slow tests specifically (that would cut about 10
>> minutes out of the 20).
>
> About slow tests: I never included device-crash-test on "make
> check" because it would take too long to run.  Also, "make
> check-help" lies when it says "make check" runs all tests,
> because it doesn't run check-block.
>
> Should we add a new Makefile target (check-all?) that includes
> slower tests?

Or a make check-slow?

I think that is a great idea, having tests but not running them isn't
helping anyone.

Thanks,
Alistair

>
> --
> Eduardo
>

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

* Re: [Qemu-devel] Slow tests on "make check" (was Re: [PULL 6/9] Convert error_report() to warn_report())
  2017-07-25 23:24             ` Alistair Francis
@ 2017-07-25 23:26               ` Alistair Francis
  2017-07-26 10:17                 ` Richard W.M. Jones
  0 siblings, 1 reply; 26+ messages in thread
From: Alistair Francis @ 2017-07-25 23:26 UTC (permalink / raw)
  To: Alistair Francis
  Cc: Eduardo Habkost, Paolo Bonzini, Peter Maydell, Cornelia Huck,
	Ronnie Sahlberg, Michael S. Tsirkin, Jeff Cody,
	qemu-devel@nongnu.org Developers, Alexander Graf, Gerd Hoffmann,
	Rob Herring, Josh Durgin, Markus Armbruster,
	Christian Borntraeger, Marcel Apfelbaum, David Gibson,
	Jason Wang, Peter Lieven, Greg Kurz, Peter Chubb,
	Stefan Hajnoczi, Richard Henderson, Kevin Wolf,
	Peter Crosthwaite, Marcelo Tosatti, Richard W.M. Jones,
	Max Reitz, An eesh Kumar K.V, Igor Mammedov

On Tue, Jul 25, 2017 at 4:24 PM, Alistair Francis
<alistair.francis@xilinx.com> wrote:
> On Tue, Jul 25, 2017 at 12:08 PM, Eduardo Habkost <ehabkost@redhat.com> wrote:
>> On Mon, Jul 24, 2017 at 09:30:06AM +0200, Paolo Bonzini wrote:
>>> On 24/07/2017 08:30, Markus Armbruster wrote:
>>> > Markus Armbruster <armbru@redhat.com> writes:
>>> >
>>> >> Kevin Wolf <kwolf@redhat.com> writes:
>>> >>
>>> >>> Am 13.07.2017 um 15:27 hat Markus Armbruster geschrieben:
>>> >>>> From: Alistair Francis <alistair.francis@xilinx.com>
>>> >>>>
>>> >>>> Convert all uses of error_report("warning:"... to use warn_report()
>>> >>>> instead. This helps standardise on a single method of printing warnings
>>> >>>> to the user.
>>> >>>>
>>> >>>> All of the warnings were changed using these two commands:
>>> >>>>     find ./* -type f -exec sed -i \
>>> >>>>       's|error_report(".*warning[,:] |warn_report("|Ig' {} +
>>> >>>>
>>> >>>> Indentation fixed up manually afterwards.
>>> >>>>
>>> >>>> The test-qdev-global-props test case was manually updated to ensure that
>>> >>>> this patch passes make check (as the test cases are case sensitive).
>>> >>>
>>> >>> This patch broke qemu-iotests 051 because it neglected to update the
>>> >>> reference output. Not sure if a change of the message was even intended,
>>> >>> but with a error location prefix, the order changes:
>>> >>>
>>> >>> -(qemu) QEMU_PROG: -drive if=scsi,media=cdrom: warning: bus=0,unit=0 is deprecated with this machine type
>>> >>> +(qemu) warning: qemu-system-x86_64: -drive if=scsi,media=cdrom: bus=0,unit=0 is deprecated with this machine type
>>> >>>
>>> >>> Personally, I would expect the error location or at least the program
>>> >>> name to come first even for warnings.
>>> >>
>>> >> I'll fix it.
>>> >>
>>> >> While focusing on something other than block, I forget qemu-iotests
>>> >> exist.  My fault, but it's a pretty common fault.  I reiterate my plea
>>> >> to include (a sensible subset of) it in "make check".
>>> >
>>> > Oh, 051 isn't run by "make check-block".  It could just as well not
>>> > exist then.
>>> >
>>> > What's the recommended way to run all iotests a build of QEMU can run?
>>>
>>> I use "path-to-srcdir/tests/check-block.sh".  It takes about 20 minutes.
>>>
>>> There are two issues with check-block:
>>>
>>> * tests that require QEMU are skipped (rationale: you might be building
>>> without the x86_64-softmmu target).
>>>
>>> * it only runs the "quick" group, but I think we should reverse the
>>> direction and mark slow tests specifically (that would cut about 10
>>> minutes out of the 20).
>>
>> About slow tests: I never included device-crash-test on "make
>> check" because it would take too long to run.  Also, "make
>> check-help" lies when it says "make check" runs all tests,
>> because it doesn't run check-block.
>>
>> Should we add a new Makefile target (check-all?) that includes
>> slower tests?
>
> Or a make check-slow?

Actually, what about to avoid duplication we can add a make check-slow
that runs all the slow tests that make check doesn't run. Then make
check-all can run both make check and make check-slow.

That way you can run make check for a quick sanity test and then run
make check-slow to test everything, without duplicating tests.

>
> I think that is a great idea, having tests but not running them isn't
> helping anyone.
>
> Thanks,
> Alistair
>
>>
>> --
>> Eduardo
>>

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

* Re: [Qemu-devel] Slow tests on "make check" (was Re: [PULL 6/9] Convert error_report() to warn_report())
  2017-07-25 23:26               ` Alistair Francis
@ 2017-07-26 10:17                 ` Richard W.M. Jones
  0 siblings, 0 replies; 26+ messages in thread
From: Richard W.M. Jones @ 2017-07-26 10:17 UTC (permalink / raw)
  To: Alistair Francis
  Cc: Eduardo Habkost, Paolo Bonzini, Peter Maydell, Cornelia Huck,
	Ronnie Sahlberg, Michael S. Tsirkin, Jeff Cody,
	qemu-devel@nongnu.org Developers, Alexander Graf, Gerd Hoffmann,
	Rob Herring, Josh Durgin, Markus Armbruster,
	Christian Borntraeger, Marcel Apfelbaum, David Gibson,
	Jason Wang, Peter Lieven, Greg Kurz, Peter Chubb,
	Stefan Hajnoczi, Richard Henderson, Kevin Wolf,
	Peter Crosthwaite, Marcelo Tosatti, Max Reitz, An eesh Kumar K.V,
	Igor Mammedov

On Tue, Jul 25, 2017 at 04:26:32PM -0700, Alistair Francis wrote:
> Actually, what about to avoid duplication we can add a make check-slow
> that runs all the slow tests that make check doesn't run. Then make
> check-all can run both make check and make check-slow.
> 
> That way you can run make check for a quick sanity test and then run
> make check-slow to test everything, without duplicating tests.

FWIW libguestfs does this.

It also has:

  make check-root      For tests which require root privs.
  make check-release   All tests required to pass before we release
                       any new upstream version.

and many more:

  http://libguestfs.org/guestfs-hacking.1.html#testing-your-changes

In libguestfs it's all done using automake so the implementation is
not directly relevant to qemu.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW

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

* Re: [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report()
  2017-07-24  7:30         ` Paolo Bonzini
  2017-07-25 19:08           ` [Qemu-devel] Slow tests on "make check" (was Re: [PULL 6/9] Convert error_report() to warn_report()) Eduardo Habkost
@ 2017-07-26 10:30           ` Daniel P. Berrange
  2017-07-27  8:25           ` Markus Armbruster
  2017-07-27 11:45           ` Max Reitz
  3 siblings, 0 replies; 26+ messages in thread
From: Daniel P. Berrange @ 2017-07-26 10:30 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Markus Armbruster, Kevin Wolf, Peter Maydell, Cornelia Huck,
	Stefan Hajnoczi, Michael S. Tsirkin, Jason Wang, qemu-devel,
	Gerd Hoffmann, Rob Herring, Josh Durgin, Alexander Graf,
	Christian Borntraeger, Marcel Apfelbaum, Richard Henderson,
	Jeff Cody, Eduardo Habkost, Peter Lieven, Greg Kurz,
	Alistair Francis, Peter Chubb, Ronnie Sahlberg, David Gibson,
	Peter Crosthwaite, Marcelo Tosatti, Richard W.M. Jones,
	Max Reitz, An eesh Kumar K.V, Igor Mammedov

On Mon, Jul 24, 2017 at 09:30:06AM +0200, Paolo Bonzini wrote:
> On 24/07/2017 08:30, Markus Armbruster wrote:
> > Markus Armbruster <armbru@redhat.com> writes:
> > 
> >> Kevin Wolf <kwolf@redhat.com> writes:
> >>
> >>> Am 13.07.2017 um 15:27 hat Markus Armbruster geschrieben:
> >>>> From: Alistair Francis <alistair.francis@xilinx.com>
> >>>>
> >>>> Convert all uses of error_report("warning:"... to use warn_report()
> >>>> instead. This helps standardise on a single method of printing warnings
> >>>> to the user.
> >>>>
> >>>> All of the warnings were changed using these two commands:
> >>>>     find ./* -type f -exec sed -i \
> >>>>       's|error_report(".*warning[,:] |warn_report("|Ig' {} +
> >>>>
> >>>> Indentation fixed up manually afterwards.
> >>>>
> >>>> The test-qdev-global-props test case was manually updated to ensure that
> >>>> this patch passes make check (as the test cases are case sensitive).
> >>>
> >>> This patch broke qemu-iotests 051 because it neglected to update the
> >>> reference output. Not sure if a change of the message was even intended,
> >>> but with a error location prefix, the order changes:
> >>>
> >>> -(qemu) QEMU_PROG: -drive if=scsi,media=cdrom: warning: bus=0,unit=0 is deprecated with this machine type
> >>> +(qemu) warning: qemu-system-x86_64: -drive if=scsi,media=cdrom: bus=0,unit=0 is deprecated with this machine type
> >>>
> >>> Personally, I would expect the error location or at least the program
> >>> name to come first even for warnings.
> >>
> >> I'll fix it.
> >>
> >> While focusing on something other than block, I forget qemu-iotests
> >> exist.  My fault, but it's a pretty common fault.  I reiterate my plea
> >> to include (a sensible subset of) it in "make check".
> > 
> > Oh, 051 isn't run by "make check-block".  It could just as well not
> > exist then.
> > 
> > What's the recommended way to run all iotests a build of QEMU can run?
> 
> I use "path-to-srcdir/tests/check-block.sh".  It takes about 20 minutes.
> 
> There are two issues with check-block:
> 
> * tests that require QEMU are skipped (rationale: you might be building
> without the x86_64-softmmu target).
> 
> * it only runs the "quick" group, but I think we should reverse the
> direction and mark slow tests specifically (that would cut about 10
> minutes out of the 20).

The notion of "slow" and "quick" in the iotests is rather dubious too.
Effectively we're saying "slow for qcow2" and "quick for qcow2".

If you run qcow (v1) pretty much everything is slow, because qcow2
speed improvements were never made to qcow1 for obvious reasons.

If using the "luks" format tests which create alot of images are
significantly slower, because there's a significant time penalty
on formatting images. 

I imagine other formats or protocol drivers have varying tradeoffs
too.

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 :|

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

* Re: [Qemu-devel] Slow tests on "make check" (was Re: [PULL 6/9] Convert error_report() to warn_report())
  2017-07-25 19:08           ` [Qemu-devel] Slow tests on "make check" (was Re: [PULL 6/9] Convert error_report() to warn_report()) Eduardo Habkost
  2017-07-25 23:24             ` Alistair Francis
@ 2017-07-26 10:35             ` Daniel P. Berrange
  1 sibling, 0 replies; 26+ messages in thread
From: Daniel P. Berrange @ 2017-07-26 10:35 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: Paolo Bonzini, Peter Maydell, Cornelia Huck, Ronnie Sahlberg,
	Michael S. Tsirkin, Jeff Cody, qemu-devel, Alexander Graf,
	Gerd Hoffmann, Rob Herring, Josh Durgin, Markus Armbruster,
	Christian Borntraeger, Marcel Apfelbaum, David Gibson,
	Jason Wang, Peter Lieven, Greg Kurz, Alistair Francis,
	Peter Chubb, Stefan Hajnoczi, Richard Henderson, Kevin Wolf,
	Peter Crosthwaite, Marcelo Tosatti, Richard W.M. Jones,
	Max Reitz, An eesh Kumar K.V, Igor Mammedov

On Tue, Jul 25, 2017 at 04:08:18PM -0300, Eduardo Habkost wrote:
> On Mon, Jul 24, 2017 at 09:30:06AM +0200, Paolo Bonzini wrote:
> > On 24/07/2017 08:30, Markus Armbruster wrote:
> > > Markus Armbruster <armbru@redhat.com> writes:
> > > 
> > >> Kevin Wolf <kwolf@redhat.com> writes:
> > >>
> > >>> Am 13.07.2017 um 15:27 hat Markus Armbruster geschrieben:
> > >>>> From: Alistair Francis <alistair.francis@xilinx.com>
> > >>>>
> > >>>> Convert all uses of error_report("warning:"... to use warn_report()
> > >>>> instead. This helps standardise on a single method of printing warnings
> > >>>> to the user.
> > >>>>
> > >>>> All of the warnings were changed using these two commands:
> > >>>>     find ./* -type f -exec sed -i \
> > >>>>       's|error_report(".*warning[,:] |warn_report("|Ig' {} +
> > >>>>
> > >>>> Indentation fixed up manually afterwards.
> > >>>>
> > >>>> The test-qdev-global-props test case was manually updated to ensure that
> > >>>> this patch passes make check (as the test cases are case sensitive).
> > >>>
> > >>> This patch broke qemu-iotests 051 because it neglected to update the
> > >>> reference output. Not sure if a change of the message was even intended,
> > >>> but with a error location prefix, the order changes:
> > >>>
> > >>> -(qemu) QEMU_PROG: -drive if=scsi,media=cdrom: warning: bus=0,unit=0 is deprecated with this machine type
> > >>> +(qemu) warning: qemu-system-x86_64: -drive if=scsi,media=cdrom: bus=0,unit=0 is deprecated with this machine type
> > >>>
> > >>> Personally, I would expect the error location or at least the program
> > >>> name to come first even for warnings.
> > >>
> > >> I'll fix it.
> > >>
> > >> While focusing on something other than block, I forget qemu-iotests
> > >> exist.  My fault, but it's a pretty common fault.  I reiterate my plea
> > >> to include (a sensible subset of) it in "make check".
> > > 
> > > Oh, 051 isn't run by "make check-block".  It could just as well not
> > > exist then.
> > > 
> > > What's the recommended way to run all iotests a build of QEMU can run?
> > 
> > I use "path-to-srcdir/tests/check-block.sh".  It takes about 20 minutes.
> > 
> > There are two issues with check-block:
> > 
> > * tests that require QEMU are skipped (rationale: you might be building
> > without the x86_64-softmmu target).
> > 
> > * it only runs the "quick" group, but I think we should reverse the
> > direction and mark slow tests specifically (that would cut about 10
> > minutes out of the 20).
> 
> About slow tests: I never included device-crash-test on "make
> check" because it would take too long to run.  Also, "make
> check-help" lies when it says "make check" runs all tests,
> because it doesn't run check-block.

Even if you also run "check-block", it would still be a lie because you'd
not be running block tests for anything other than qcow2, which is far
from "all tests".


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 :|

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

* Re: [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report()
  2017-07-24  7:30         ` Paolo Bonzini
  2017-07-25 19:08           ` [Qemu-devel] Slow tests on "make check" (was Re: [PULL 6/9] Convert error_report() to warn_report()) Eduardo Habkost
  2017-07-26 10:30           ` [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report() Daniel P. Berrange
@ 2017-07-27  8:25           ` Markus Armbruster
  2017-07-27  8:45             ` Kevin Wolf
  2017-07-27 11:45           ` Max Reitz
  3 siblings, 1 reply; 26+ messages in thread
From: Markus Armbruster @ 2017-07-27  8:25 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Kevin Wolf, Peter Maydell, Cornelia Huck, Stefan Hajnoczi,
	Michael S. Tsirkin, Jason Wang, qemu-devel, Gerd Hoffmann,
	Rob Herring, Josh Durgin, Alexander Graf, Christian Borntraeger,
	Marcel Apfelbaum, Richard Henderson, Jeff Cody, Eduardo Habkost,
	Peter Lieven, Greg Kurz, Alistair Francis, Peter Chubb,
	Ronnie Sahlberg, David Gibson, Peter Crosthwaite,
	Marcelo Tosatti, Richard W.M. Jones, Max Reitz,
	An eesh Kumar K.V, Igor Mammedov

Paolo Bonzini <pbonzini@redhat.com> writes:

> On 24/07/2017 08:30, Markus Armbruster wrote:
[...]
>> What's the recommended way to run all iotests a build of QEMU can run?
>
> I use "path-to-srcdir/tests/check-block.sh".  It takes about 20 minutes.
>
> There are two issues with check-block:
>
> * tests that require QEMU are skipped (rationale: you might be building
> without the x86_64-softmmu target).
>
> * it only runs the "quick" group, but I think we should reverse the
> direction and mark slow tests specifically (that would cut about 10
> minutes out of the 20).
>
> It's a pity that qemu-iotests doesn't parallelize.

Indeed.

>                                                     Maybe the harness
> could be changed to something more standard.

Certainly not a "bite-sized task".  Could it be a fit for GSOC or
Outreachy?

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

* Re: [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report()
  2017-07-27  8:25           ` Markus Armbruster
@ 2017-07-27  8:45             ` Kevin Wolf
  2017-07-27  9:14               ` Markus Armbruster
  0 siblings, 1 reply; 26+ messages in thread
From: Kevin Wolf @ 2017-07-27  8:45 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: Paolo Bonzini, Peter Maydell, Cornelia Huck, Stefan Hajnoczi,
	Michael S. Tsirkin, Jason Wang, qemu-devel, Gerd Hoffmann,
	Rob Herring, Josh Durgin, Alexander Graf, Christian Borntraeger,
	Marcel Apfelbaum, Richard Henderson, Jeff Cody, Eduardo Habkost,
	Peter Lieven, Greg Kurz, Alistair Francis, Peter Chubb,
	Ronnie Sahlberg, David Gibson, Peter Crosthwaite,
	Marcelo Tosatti, Richard W.M. Jones, Max Reitz,
	An eesh Kumar K.V, Igor Mammedov

Am 27.07.2017 um 10:25 hat Markus Armbruster geschrieben:
> Paolo Bonzini <pbonzini@redhat.com> writes:
> 
> > On 24/07/2017 08:30, Markus Armbruster wrote:
> [...]
> >> What's the recommended way to run all iotests a build of QEMU can run?
> >
> > I use "path-to-srcdir/tests/check-block.sh".  It takes about 20 minutes.
> >
> > There are two issues with check-block:
> >
> > * tests that require QEMU are skipped (rationale: you might be building
> > without the x86_64-softmmu target).
> >
> > * it only runs the "quick" group, but I think we should reverse the
> > direction and mark slow tests specifically (that would cut about 10
> > minutes out of the 20).
> >
> > It's a pity that qemu-iotests doesn't parallelize.
> 
> Indeed.
> 
> >                                                     Maybe the harness
> > could be changed to something more standard.
> 
> Certainly not a "bite-sized task".  Could it be a fit for GSOC or
> Outreachy?

I don't think deciding what the right "something more standard" is would
be a good GSoC/Outreachy project. Actually implementing it afterwards
may be, but that depends on what was decided.

Kevin

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

* Re: [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report()
  2017-07-27  8:45             ` Kevin Wolf
@ 2017-07-27  9:14               ` Markus Armbruster
  0 siblings, 0 replies; 26+ messages in thread
From: Markus Armbruster @ 2017-07-27  9:14 UTC (permalink / raw)
  To: Kevin Wolf
  Cc: Peter Maydell, Marcelo Tosatti, Ronnie Sahlberg,
	Michael S. Tsirkin, Jason Wang, qemu-devel, Gerd Hoffmann,
	Rob Herring, Josh Durgin, Alexander Graf, Christian Borntraeger,
	Marcel Apfelbaum, Richard Henderson, Jeff Cody, Eduardo Habkost,
	Peter Lieven, Greg Kurz, Alistair Francis, Peter Chubb,
	Stefan Hajnoczi, Igor Mammedov, David Gibson, Peter Crosthwaite,
	Cornelia Huck, Richard W.M. Jones, Max Reitz, An eesh Kumar K.V,
	Paolo Bonzini

Kevin Wolf <kwolf@redhat.com> writes:

> Am 27.07.2017 um 10:25 hat Markus Armbruster geschrieben:
>> Paolo Bonzini <pbonzini@redhat.com> writes:
>> 
>> > On 24/07/2017 08:30, Markus Armbruster wrote:
>> [...]
>> >> What's the recommended way to run all iotests a build of QEMU can run?
>> >
>> > I use "path-to-srcdir/tests/check-block.sh".  It takes about 20 minutes.
>> >
>> > There are two issues with check-block:
>> >
>> > * tests that require QEMU are skipped (rationale: you might be building
>> > without the x86_64-softmmu target).
>> >
>> > * it only runs the "quick" group, but I think we should reverse the
>> > direction and mark slow tests specifically (that would cut about 10
>> > minutes out of the 20).
>> >
>> > It's a pity that qemu-iotests doesn't parallelize.
>> 
>> Indeed.
>> 
>> >                                                     Maybe the harness
>> > could be changed to something more standard.
>> 
>> Certainly not a "bite-sized task".  Could it be a fit for GSOC or
>> Outreachy?
>
> I don't think deciding what the right "something more standard" is would
> be a good GSoC/Outreachy project. Actually implementing it afterwards
> may be, but that depends on what was decided.

Makes sense.

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

* Re: [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report()
  2017-07-24  7:30         ` Paolo Bonzini
                             ` (2 preceding siblings ...)
  2017-07-27  8:25           ` Markus Armbruster
@ 2017-07-27 11:45           ` Max Reitz
  3 siblings, 0 replies; 26+ messages in thread
From: Max Reitz @ 2017-07-27 11:45 UTC (permalink / raw)
  To: Paolo Bonzini, Markus Armbruster, Kevin Wolf
  Cc: Peter Maydell, Marcelo Tosatti, Ronnie Sahlberg,
	Michael S. Tsirkin, Jason Wang, qemu-devel, Gerd Hoffmann,
	Rob Herring, Josh Durgin, Alexander Graf, Christian Borntraeger,
	Marcel Apfelbaum, Richard Henderson, Jeff Cody, Eduardo Habkost,
	Peter Lieven, Greg Kurz, Alistair Francis, Peter Chubb,
	Stefan Hajnoczi, Igor Mammedov, David Gibson, Peter Crosthwaite,
	Cornelia Huck, Richard W.M. Jones, An eesh Kumar K.V

[-- Attachment #1: Type: text/plain, Size: 471 bytes --]

On 2017-07-24 09:30, Paolo Bonzini wrote:

[...]

> * it only runs the "quick" group, but I think we should reverse the
> direction and mark slow tests specifically (that would cut about 10
> minutes out of the 20).
Side note: tmpfs speeds things up quite a bit.  Running all qcow2 tests
(except for 142 which requires writethrough caching) takes 5:27 min for
me there.

(And since I usually run nbd and raw tests concurrently, it's not too
bad...)

Max


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 498 bytes --]

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

end of thread, other threads:[~2017-07-27 11:46 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-13 13:27 [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 Markus Armbruster
2017-07-13 13:27 ` [Qemu-devel] [PULL 1/9] xilinx: Fix latent error handling bug Markus Armbruster
2017-07-13 13:27 ` [Qemu-devel] [PULL 2/9] block: Don't try to set *errp directly Markus Armbruster
2017-07-13 13:27 ` [Qemu-devel] [PULL 3/9] websock: " Markus Armbruster
2017-07-13 13:27 ` [Qemu-devel] [PULL 4/9] util/qemu-error: Rename error_print_loc() to be more generic Markus Armbruster
2017-07-13 13:27 ` [Qemu-devel] [PULL 5/9] error: Functions to report warnings and informational messages Markus Armbruster
2017-07-13 13:27 ` [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report() Markus Armbruster
2017-07-17 10:19   ` Kevin Wolf
2017-07-18  5:17     ` Markus Armbruster
2017-07-24  6:30       ` Markus Armbruster
2017-07-24  7:30         ` Paolo Bonzini
2017-07-25 19:08           ` [Qemu-devel] Slow tests on "make check" (was Re: [PULL 6/9] Convert error_report() to warn_report()) Eduardo Habkost
2017-07-25 23:24             ` Alistair Francis
2017-07-25 23:26               ` Alistair Francis
2017-07-26 10:17                 ` Richard W.M. Jones
2017-07-26 10:35             ` Daniel P. Berrange
2017-07-26 10:30           ` [Qemu-devel] [PULL 6/9] Convert error_report() to warn_report() Daniel P. Berrange
2017-07-27  8:25           ` Markus Armbruster
2017-07-27  8:45             ` Kevin Wolf
2017-07-27  9:14               ` Markus Armbruster
2017-07-27 11:45           ` Max Reitz
2017-07-13 13:27 ` [Qemu-devel] [PULL 7/9] char-socket: Report TCP socket waiting as information Markus Armbruster
2017-07-13 13:27 ` [Qemu-devel] [PULL 8/9] error: Implement the warn and free Error functions Markus Armbruster
2017-07-13 13:27 ` [Qemu-devel] [PULL 9/9] Convert error_report*_err() to warn_report*_err() Markus Armbruster
2017-07-13 13:46 ` [Qemu-devel] [PULL 0/9] Error reporting patches for 2017-07-13 no-reply
2017-07-14 10:05 ` Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.