On 07/30/14 06:05, 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). It also prepares to update persistent XML > to match changes made to live XML when a copy completes. > > * 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 | 15 +++++---- > docs/schemas/domaincommon.rng | 13 ++++++++ > src/conf/domain_conf.c | 33 +++++++++++++++++- > src/conf/domain_conf.h | 1 + > src/qemu/qemu_driver.c | 2 ++ > src/qemu/qemu_process.c | 39 +++++++++++++++++++++- > .../qemuxml2argv-disk-active-commit.xml | 37 ++++++++++++++++++++ > .../qemuxml2argvdata/qemuxml2argv-disk-mirror.xml | 6 ++-- > .../qemuxml2xmlout-disk-mirror-old.xml | 4 +-- > tests/qemuxml2xmltest.c | 1 + > 10 files changed, 138 insertions(+), 13 deletions(-) > create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-active-commit.xml > ACK, same conditions as 1/2. Peter
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list