[Libvir] Re: RFC: replace "no support for hypervisor" error

Richard W.M. Jones rjones at redhat.com
Wed Jun 20 13:15:50 UTC 2007


Daniel Veillard wrote:
> On Tue, Jun 19, 2007 at 02:16:23PM +0100, Richard W.M. Jones wrote:
>> (3) Split VIR_ERR_NO_SUPPORT into two categories.  Currently this 
>> category mixes up cases where we fail to open a connection, and cases 
>> where there is no driver support for a particular operation (even with 
>> an open connection).  In the first case, go through all the places which 
>> return this error and add proper diagnostic information to the error 
>> messages.
>>
>>   -- Again, I am prepared to do this if people think it's a good idea.
> 
>   It would be logical to separate the two, I think we already at the low level
> do the difference but it doesn't show up at the error level.

The attached patch:

(1) Makes VIR_ERR_NO_SUPPORT mean that a function is not supported by 
the hypervisor.  It changes the message to be more specific and 
coincidentally corrects a bug which was causing the optional info field 
to be dropped.

(2) Makes VIR_ERR_NO_CONNECT mean that we could not connect to the 
hypervisor.

(3) Deprecates VIR_ERR_CALL_FAILED, because the meaning and use of this 
overlapped with VIR_ERR_NO_SUPPORT, and some calls failed with one and 
other calls failed with the other.  Accordingly it changes all 
VIR_ERR_CALL_FAILED errors into VIR_ERR_NO_SUPPORT errors.

(4) Removes all error messages which occur before VIR_DRV_OPEN_DECLINED. 
  If a driver is declines a URI, then that is normal behaviour and no 
reason to print an error.  A later driver in the chain may accept the 
URI, and if none of the drivers can accept it then libvirt.c:do_open 
contains code to generate an error.

(5) If xen_unified.c was passed a naked string like "foo" as a URI then 
it would try to use it as a relative file reference.  This was wrong and 
obscures a whole class of error message, so I've changed it so that 
xen_unified.c will only try to accept an absolute pathname (eg. 
///var/lib/xen/xend-socket).

Rich.

-- 
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
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. 03798903
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libvirt-no-support-for-hypervisor-20070620.patch
Type: text/x-patch
Size: 19420 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20070620/446982c3/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3237 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20070620/446982c3/attachment-0003.bin>


More information about the libvir-list mailing list