blockjob: allow mirroring under SELinux and cgroup
authorEric Blake <eblake@redhat.com>
Sat, 27 Oct 2012 13:32:19 +0000 (07:32 -0600)
committerEric Blake <eblake@redhat.com>
Sat, 27 Oct 2012 13:43:39 +0000 (07:43 -0600)
commit35c7701c64508f975dfeb8379c56b4b6d0d9b71c
treeaea27b72672154579c5c861d092762d8c2d62394
parent8ee5073c1ec59550e808904e3af3cf4018c59066
blockjob: allow mirroring under SELinux and cgroup

Use the recent addition of qemuDomainPrepareDiskChainElement to
obtain locking manager lease, permit a block device through cgroups,
and set the SELinux label; then audit the fact that we hand a new
file over to qemu.  Alas, releasing the lease and label at the end
of the mirroring is a trickier prospect (we would have to trace the
backing chain of both source and destination, and be sure not to
revoke rights to any part of the chain that is shared), so for now,
virDomainBlockJobAbort still leaves things with additional access
granted (as block-pull and block-commit have the same problem of
not clamping access after completion, a future cleanup would cover
all three commands).

* src/qemu/qemu_driver.c (qemuDomainBlockCopy): Set up labeling.
src/qemu/qemu_driver.c