Richard W.M. Jones wrote:
1 Additional error handling --------------------------- M include/libvirt/virterror.h M src/virterror.c
Attached is the patch to add the additional types of errors to virterror. VIR_FROM_REMOTE indicates that the error originated in the remote driver. There are two further subclasses for general RPC-related errors and GnuTLS-related errors.
Note that if a regular error (eg. VIR_FROM_XEN) is generated on the server side it is passed through the connection to the client transparently (there is no "wrapping" of errors or anything like that).
Rich. -- Emerging Technologies, Red Hat http://et.redhat.com/~rjones/ 64 Baker Street, London, W1U 7DF Mobile: +44 7866 314 421 Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 3798903 Directors: Michael Cunningham (USA), Charlie Peters (USA) and David Owens (Ireland)
Index: include/libvirt/virterror.h =================================================================== RCS file: /data/cvs/libvirt/include/libvirt/virterror.h,v retrieving revision 1.22 diff -u -r1.22 virterror.h --- include/libvirt/virterror.h 18 Apr 2007 10:14:07 -0000 1.22 +++ include/libvirt/virterror.h 2 May 2007 17:55:56 -0000 @@ -50,6 +50,7 @@ VIR_FROM_QEMU, /* Error at the QEMU daemon */ VIR_FROM_NET, /* Error when operating on a network */ VIR_FROM_TEST, /* Error from test driver */ + VIR_FROM_REMOTE, /* Error from remote driver */ } virErrorDomain; @@ -121,6 +122,8 @@ VIR_ERR_INVALID_NETWORK, /* invalid network object */ VIR_ERR_NETWORK_EXIST, /* the network already exist */ VIR_ERR_SYSTEM_ERROR, /* general system call failure */ + VIR_ERR_RPC, /* some sort of RPC error */ + VIR_ERR_GNUTLS_ERROR, /* error from a GNUTLS call */ } virErrorNumber; /** Index: src/virterror.c =================================================================== RCS file: /data/cvs/libvirt/src/virterror.c,v retrieving revision 1.24 diff -u -r1.24 virterror.c --- src/virterror.c 18 Apr 2007 10:14:08 -0000 1.24 +++ src/virterror.c 2 May 2007 17:55:56 -0000 @@ -277,6 +277,9 @@ case VIR_FROM_TEST: dom = "Test "; break; + case VIR_FROM_REMOTE: + dom = "Remote "; + break; } if ((err->dom != NULL) && (err->code != VIR_ERR_INVALID_DOMAIN)) { domain = err->dom->name; @@ -613,6 +616,18 @@ else errmsg = "%s"; break; + case VIR_ERR_RPC: + if (info == NULL) + errmsg = _("RPC error"); + else + errmsg = "%s"; + break; + case VIR_ERR_GNUTLS_ERROR: + if (info == NULL) + errmsg = _("GNUTLS call error"); + else + errmsg = "%s"; + break; } return (errmsg); }
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature