On 06/19/14 01:22, Eric Blake wrote: > A future patch is going to wire up qemu active block commit jobs; > but as they have similar events and are canceled/pivoted in the > same way as block copy jobs, it is easiest to track all bookkeeping > for the commit job by reusing the <mirror> element. This patch > adds domain XML to track which job was responsible for creating a > mirroring situation, and adds a job='copy' attribute to all > existing uses of <mirror>. Along the way, it also massages the > qemu monitor backend to read the new field in order to generate > the correct type of libvirt job (even though it requires a > future patch to actually cause a qemu event that can be reported > as an active commit). > > * docs/schemas/domaincommon.rng: Enhance schema. > * docs/formatdomain.html.in: Document it. > * src/conf/domain_conf.h (_virDomainDiskDef): Add a field. > * src/conf/domain_conf.c (virDomainBlockJobType): String conversion. > (virDomainDiskDefParseXML): Parse job type. > (virDomainDiskDefFormat): Output job type. > * src/qemu/qemu_process.c (qemuProcessHandleBlockJob): Distinguish > active from regular commit. > * src/qemu/qemu_driver.c (qemuDomainBlockCopy): Set job type. > (qemuDomainBlockPivot, qemuDomainBlockJobImpl): Clean up job type > on completion. > * tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-old.xml: > Update tests. > * tests/qemuxml2argvdata/qemuxml2argv-disk-mirror.xml: Likewise. > * tests/qemuxml2argvdata/qemuxml2argv-disk-active-commit.xml: New > file. > * tests/qemuxml2xmltest.c (mymain): Drive new test. > > Signed-off-by: Eric Blake <eblake@xxxxxxxxxx> > --- > docs/formatdomain.html.in | 20 ++++++------ > docs/schemas/domaincommon.rng | 13 ++++++++ > src/conf/domain_conf.c | 33 ++++++++++++++++++- > src/conf/domain_conf.h | 1 + > src/qemu/qemu_driver.c | 3 ++ > src/qemu/qemu_process.c | 18 +++++++---- > .../qemuxml2argv-disk-active-commit.xml | 37 ++++++++++++++++++++++ > .../qemuxml2argvdata/qemuxml2argv-disk-mirror.xml | 4 +-- > .../qemuxml2xmlout-disk-mirror-old.xml | 4 +-- > tests/qemuxml2xmltest.c | 1 + > 10 files changed, 113 insertions(+), 21 deletions(-) > create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-active-commit.xml ACK, Peter
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list