qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v6 2/5] qerror: add five qerror strings


From: Amos Kong
Subject: Re: [Qemu-devel] [PATCH v6 2/5] qerror: add five qerror strings
Date: Wed, 18 Apr 2012 19:48:40 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20110930 Thunderbird/7.0.1

On 18/04/12 19:25, Paolo Bonzini wrote:
Il 18/04/2012 08:51, Orit Wasserman ha scritto:
On 04/17/2012 05:54 PM, Amos Kong wrote:
Add five new qerror strings, they are about socket:
   QERR_SOCKET_CONNECT_IN_PROGRESS
   QERR_SOCKET_CONNECT_FAILED
   QERR_SOCKET_LISTEN_FAILED
   QERR_SOCKET_BIND_FAILED
   QERR_SOCKET_CREATE_FAILED

Signed-off-by: Amos Kong<address@hidden>
---
  qerror.c |   20 ++++++++++++++++++++
  qerror.h |   15 +++++++++++++++
  2 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/qerror.c b/qerror.c
index 96fbe71..7afe1ac 100644
--- a/qerror.c
+++ b/qerror.c
@@ -304,6 +304,26 @@ static const QErrorStringTable qerror_table[] = {
          .error_fmt = QERR_VNC_SERVER_FAILED,
          .desc      = "Could not start VNC server on %(target)",
      },
+    {
+        .error_fmt = QERR_SOCKET_CONNECT_IN_PROGRESS,
+        .desc      = "Connection cannot be completed immediately",
+    },
+    {
+        .error_fmt = QERR_SOCKET_CONNECT_FAILED,
+        .desc      = "Fail to connect socket",
+    },
+    {
+        .error_fmt = QERR_SOCKET_LISTEN_FAILED,
+        .desc      = "Fail to listen socket",
+    },
+    {
+        .error_fmt = QERR_SOCKET_BIND_FAILED,
+        .desc      = "Fail to bind socket",
+    },
+    {
+        .error_fmt = QERR_SOCKET_CREATE_FAILED,
+        .desc      = "Fail to create socket",
+    },
      {}
  };

diff --git a/qerror.h b/qerror.h
index 5c23c1f..4cbba48 100644
--- a/qerror.h
+++ b/qerror.h
@@ -248,4 +248,19 @@ QError *qobject_to_qerror(const QObject *obj);
  #define QERR_VNC_SERVER_FAILED \
      "{ 'class': 'VNCServerFailed', 'data': { 'target': %s } }"

+#define QERR_SOCKET_CONNECT_IN_PROGRESS \
+    "{ 'class': 'SockConnectInprogress', 'data': {} }"
+
+#define QERR_SOCKET_CONNECT_FAILED \
+    "{ 'class': 'SockConnectFailed', 'data': {} }"
+
+#define QERR_SOCKET_LISTEN_FAILED \
+    "{ 'class': 'SockListenFailed', 'data': {} }"
+
+#define QERR_SOCKET_BIND_FAILED \
+    "{ 'class': 'SockBindFailed', 'data': {} }"
+
+#define QERR_SOCKET_CREATE_FAILED \
+    "{ 'class': 'SockCreateFailed', 'data': {} }"

For the FAILED error we will probably need more data , how about adding a string
that can contain the strerror string ?

We should provide monitor users more meaningful error note,
and output the strerror string to qemu stderr.
so I think current patch is ok.


This was nack-ed in the past, and the numeric errno values are not
portable.  However, as a follow up we could add a QAPI-specific enum
(QEMU_ERRNO_EACCES, QEMU_ERRNO_ECONNREFUSED, etc.) and convert errno
values to it.

--
                        Amos.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]