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" <pkrempa(a)redhat.com>
To: "Luyao Huang" <lhuang(a)redhat.com>, libvir-list(a)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 <lhuang(a)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