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<ak...@redhat.com>
---
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.