On 01/02/2014 05:55 PM, John Ferlan wrote:
On 12/28/2013 11:11 AM, Eric Blake wrote:
The existing check of domain snapshots validated that they point to a domain, but did not validate that the domain points to a connection, even though any errors blindly assume the connection is valid. For consistency with previous patches, continue the trend of using a common macro. For now, we don't need virCheckDomainSnapshotGoto().
* src/datatypes.h (virCheckDomainSnapshotReturn): New macro. (VIR_IS_SNAPSHOT, VIR_IS_DOMAIN_SNAPSHOT): Drop unused macros. * src/libvirt.c: Use macro throughout. (virLibDomainSnapshotError): Drop unused macro.
Signed-off-by: Eric Blake <eblake@redhat.com> --- src/datatypes.h | 18 +++++++-- src/libvirt.c | 118 +++++++++++--------------------------------------------- 2 files changed, 36 insertions(+), 100 deletions(-)
ACK
22 is pushed, after squashing in this obvious fix which would have broken all snapshot APIs (bummer that 'make check' didn't catch it, seems like something where snapshot probing of test:/// should have caught this...; a trivial 'virsh -c test:///default snapshot-create test' was enough to expose it) diff --git i/src/datatypes.h w/src/datatypes.h index 999065f..9621c55 100644 --- i/src/datatypes.h +++ w/src/datatypes.h @@ -235,7 +235,7 @@ extern virClassPtr virStoragePoolClass; # define virCheckDomainSnapshotReturn(obj, retval) \ do { \ virDomainSnapshotPtr _snap = (obj); \ - if (!virObjectIsClass(_snap, virNWFilterClass) || \ + if (!virObjectIsClass(_snap, virDomainSnapshotClass) || \ !virObjectIsClass(_snap->domain, virDomainClass) || \ !virObjectIsClass(_snap->domain->conn, virConnectClass)) { \ virReportErrorHelper(VIR_FROM_DOMAIN_SNAPSHOT, \ [Do you ever wonder if I sneak in blatant bugs in large series, just to see if anyone is paying attention?] -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org