On Mon, Sep 26, 2022 at 12:07:07 +0100, Daniel P. Berrangé wrote: > On Thu, Aug 25, 2022 at 11:46:10AM +0200, Peter Krempa wrote: > > Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> > > --- > > .../memory-snapshot-inactivedomain.xml | 148 ++++++++++++++++++ > > tests/qemudomainsnapshotxml2xmltest.c | 2 + > > 2 files changed, 150 insertions(+) > > create mode 100644 tests/qemudomainsnapshotxml2xmlout/memory-snapshot-inactivedomain.xml > > snip > > > diff --git a/tests/qemudomainsnapshotxml2xmlout/memory-snapshot-inactivedomain.xml b/tests/qemudomainsnapshotxml2xmlout/memory-snapshot-inactivedomain.xml > > new file mode 100644 > > index 0000000000..3acc6d952b > > --- /dev/null > > +++ b/tests/qemudomainsnapshotxml2xmlout/memory-snapshot-inactivedomain.xml > > @@ -0,0 +1,148 @@ > > > > + <cookie> > > + <cpu mode='custom' match='exact' check='full'> > > + <model fallback='forbid'>qemu64</model> > > + <feature policy='require' name='x2apic'/> > > + <feature policy='require' name='hypervisor'/> > > + <feature policy='require' name='lahf_lm'/> > > + <feature policy='disable' name='svm'/> > > + </cpu> > > + <slirpHelper/> > > + </cookie> > > +</domainsnapshot> > > As best I can tell this <cookie> element is undocumented and further > contains arbitrary undocumented hypervisor specific XML content :-( > > This is really horrible and really should have been hidden behind a > driver specific XML namespace. > > Can someone explain more about the <cookie> ? AFAIK it's something akin to the migration cookie, but for the save image/snapshot it's stored inside the snapshot XML, rather than passed via a side-band. IIUC it's required also in the snapshot XML (not just in the save image XML) as internal snapshots don't store the XML in-band. > If this is a strictly output only element, which applications are > not expected to parse or interpret, just pass along "as is", then > it is possible we can fix/improve this, to clearly demarcate what > is our public XML schema and what is opaque driver specific schema. It's indeed private and driver specific. There's a driver specific callback to format it.