Thanks your advise :) and I have moved the check 
in qemuConnectGetAllDomainStats.

And the v2:

https://www.redhat.com/archives/libvir-list/2014-November/msg00069.html

Thanks,
Luyao Huang

----- Original Message -----
From: "Peter Krempa" <pkre...@redhat.com>
To: "Luyao Huang" <lhu...@redhat.com>, libvir-list@redhat.com
Sent: Tuesday, November 4, 2014 7:20:45 PM
Subject: Re: [libvirt] [PATCH] domain: Improve error output for 
virDomainListGetStats

On 11/04/14 07:51, Luyao Huang wrote:
> When pass flags --domain and --list-* to cmdDomstats,
> a unsupport error will output from qemuConnectGetAllDomainStats.
> 
> error: unsupported flags (0x1) in function qemuConnectGetAllDomainStats
> 
>>From manual of virsh: The approaches can't be combined.
> 
> Improve error to:
> 
> error: --domain and --list-* flags are mutually exclusive
> 
> Signed-off-by: Luyao Huang <lhu...@redhat.com>
> ---
>  src/libvirt-domain.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
> index 7dc3146..6ae6dd2 100644
> --- a/src/libvirt-domain.c
> +++ b/src/libvirt-domain.c
> @@ -11053,6 +11053,19 @@ virDomainListGetStats(virDomainPtr *doms,
>          goto cleanup;
>      }
>  
> +    if (flags & (VIR_CONNECT_LIST_DOMAINS_ACTIVE |
> +                 VIR_CONNECT_LIST_DOMAINS_INACTIVE |
> +                 VIR_CONNECT_LIST_DOMAINS_PERSISTENT |
> +                 VIR_CONNECT_LIST_DOMAINS_TRANSIENT |
> +                 VIR_CONNECT_LIST_DOMAINS_RUNNING |
> +                 VIR_CONNECT_LIST_DOMAINS_SHUTOFF |
> +                 VIR_CONNECT_LIST_DOMAINS_PAUSED |
> +                 VIR_CONNECT_LIST_DOMAINS_OTHER)) {
> +        virReportInvalidArg(flags, "%s",
> +                    _("--domain and --list-* flags are mutually exclusive"));
> +        goto cleanup;
> +    }

>From what I remember it was a deliberate design decision to avoid
reporting this error either from virsh or the library itself so that we
possibly can add the filtering later on.

This should be done in the qemu driver impl of the function so that we
can possibly do it later without breaking old clients

> +
>      conn = doms[0]->conn;
>      virCheckConnectReturn(conn, -1);
>  
> 

Peter

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to