
On 08/30/2013 10:03 AM, Cole Robinson wrote:
Again stolen from qemu_driver.c, but dropping all the unneeded bits. This aims to copy all the current qemu validation checks since that's the most commonly used real driver, but some of the checks are completely artificial in the test driver.
This only supports creation of internal snapshots for initial simplicity. --- src/conf/domain_conf.c | 3 +- src/test/test_driver.c | 504 ++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 505 insertions(+), 2 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index f8fbf79..c67d14d 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -13408,7 +13408,8 @@ virDomainDefCheckABIStability(virDomainDefPtr src, virArchToString(src->os.arch)); return false; } - if (STRNEQ(src->os.machine, dst->os.machine)) { + if (src->os.machine && dst->os.machine && + STRNEQ(src->os.machine, dst->os.machine)) {
Wouldn't STRNEQ_NULLABLE() work better here (to make sure that if os.machine is omitted in one place, it is omitted in both)?
+ + /* + * REDEFINE + CURRENT: Not implemented yet + * DISK_ONLY: Not implemented yet + * REUSE_EXT: Not implemented yet + * + * NO_METADATA: Explicitly not implemented + * + * HALT: Implemented + * QUIESCE: Nothing to do + * ATOMIC: Nothing to do + * LIVE: Nothing to do + */ + virCheckFlags( + VIR_DOMAIN_SNAPSHOT_CREATE_HALT | + VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE | + VIR_DOMAIN_SNAPSHOT_CREATE_ATOMIC | + VIR_DOMAIN_SNAPSHOT_CREATE_LIVE, NULL);
Very handy breakdown explaining your choices. It sounds like your intent is that test:/// snapshots _always_ have metadata (since there is no side effects of modifying disk images, so metadata is the only thing that actually tracks a test snapshot). Looks like a decent skimmed down version of qemu, and should be very useful for testing purposes. ACK post-1.1.2 (with appropriate touchups to the list of when things are added). -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org