[libvirt] [PATCH] xen: Fix incorrect use of error codes
Osier Yang
jyang at redhat.com
Thu Sep 1 09:56:48 UTC 2011
于 2011年09月01日 17:14, Daniel P. Berrange 写道:
> On Thu, Sep 01, 2011 at 03:57:13PM +0800, Osier Yang wrote:
>> Commit d07aa6a96 intended to fix incorrect use of VIR_ERR_NO_SUPPORT,
>> but some of the changes are not proper, this patch fixes the problems.
>> ---
>> src/xen/xen_hypervisor.c | 4 ++--
>> src/xen/xend_internal.c | 12 ++++++------
>> src/xen/xm_internal.c | 3 +--
>> 3 files changed, 9 insertions(+), 10 deletions(-)
>>
>> diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c
>> index 77085c9..cb22b89 100644
>> --- a/src/xen/xen_hypervisor.c
>> +++ b/src/xen/xen_hypervisor.c
>> @@ -1457,7 +1457,7 @@ xenHypervisorDomainBlockStats (virDomainPtr dom,
>> xenUnifiedUnlock(priv);
>> return ret;
>> #else
>> - virXenErrorFunc(VIR_ERR_OPERATION_INVALID, __FUNCTION__,
>> + virXenErrorFunc(VIR_ERR_NO_SUPPORT, __FUNCTION__,
>> "block statistics not supported on this platform",
>> dom->id);
>> return -1;
>> @@ -1495,7 +1495,7 @@ xenHypervisorDomainInterfaceStats (virDomainPtr dom,
>>
>> return linuxDomainInterfaceStats(path, stats);
>> #else
>> - virXenErrorFunc(VIR_ERR_OPERATION_INVALID, __FUNCTION__,
>> + virXenErrorFunc(VIR_ERR_NO_SUPPORT, __FUNCTION__,
>> "/proc/net/dev: Interface not found", 0);
>> return -1;
>> #endif
>> diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
>> index f44d674..eb04f49 100644
>> --- a/src/xen/xend_internal.c
>> +++ b/src/xen/xend_internal.c
>> @@ -3222,7 +3222,7 @@ xenDaemonDomainMigratePerform (virDomainPtr domain,
>>
>> /* Xen doesn't support renaming domains during migration. */
>> if (dname) {
>> - virXendError(VIR_ERR_OPERATION_INVALID,
>> + virXendError(VIR_ERR_ARGUMENT_UNSUPPORTED,
>> "%s", _("xenDaemonDomainMigrate: Xen does not support"
>> " renaming domains during migration"));
>> return -1;
>> @@ -3232,7 +3232,7 @@ xenDaemonDomainMigratePerform (virDomainPtr domain,
>> * ignores it.
>> */
>> if (bandwidth) {
>> - virXendError(VIR_ERR_OPERATION_INVALID,
>> + virXendError(VIR_ERR_ARGUMENT_UNSUPPORTED,
>> "%s", _("xenDaemonDomainMigrate: Xen does not support"
>> " bandwidth limits during migration"));
>> return -1;
>> @@ -3260,7 +3260,7 @@ xenDaemonDomainMigratePerform (virDomainPtr domain,
>> * a nice error message.
>> */
>> if (flags& VIR_MIGRATE_PAUSED) {
>> - virXendError(VIR_ERR_OPERATION_INVALID,
>> + virXendError(VIR_ERR_ARGUMENT_UNSUPPORTED,
>> "%s", _("xenDaemonDomainMigrate: xend cannot migrate paused domains"));
>> return -1;
>> }
>> @@ -3268,7 +3268,7 @@ xenDaemonDomainMigratePerform (virDomainPtr domain,
>> /* XXX we could easily do tunnelled& peer2peer migration too
>> if we want to. support these... */
>> if (flags != 0) {
>> - virXendError(VIR_ERR_OPERATION_INVALID,
>> + virXendError(VIR_ERR_ARGUMENT_UNSUPPORTED,
>> "%s", _("xenDaemonDomainMigrate: unsupported flag"));
>> return -1;
>> }
>> @@ -3871,7 +3871,7 @@ xenDaemonDomainBlockPeek (virDomainPtr domain, const char *path,
>> domain->name);
>> else {
>> /* This call always fails for dom0. */
>> - virXendError(VIR_ERR_OPERATION_INVALID,
>> + virXendError(VIR_ERR_ARGUMENT_UNSUPPORTED,
>> "%s", _("domainBlockPeek is not supported for dom0"));
>> return -1;
>> }
>> @@ -4060,7 +4060,7 @@ virDomainXMLDevID(virDomainPtr domain,
>> if (tmp == NULL)
>> return -1;
>> } else {
>> - virXendError(VIR_ERR_OPERATION_INVALID,
>> + virXendError(VIR_ERR_CONFIG_UNSUPPORTED,
>> "%s", _("hotplug of device type not supported"));
>> return -1;
>> }
>> diff --git a/src/xen/xm_internal.c b/src/xen/xm_internal.c
>> index 24311a7..95387c9 100644
>> --- a/src/xen/xm_internal.c
>> +++ b/src/xen/xm_internal.c
>> @@ -1571,8 +1571,7 @@ xenXMDomainBlockPeek (virDomainPtr dom ATTRIBUTE_UNUSED,
>> size_t size ATTRIBUTE_UNUSED,
>> void *buffer ATTRIBUTE_UNUSED)
>> {
>> - xenXMError(VIR_ERR_OPERATION_INVALID, "%s",
>> - _("block peeking not implemented"));
>> + xenXMError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
>> return -1;
>> }
> ACK
>
>
> Daniel
Pushed series. Thanks
Osier
More information about the libvir-list
mailing list