[libvirt] [PATCH] qemu: domain: Don't call namespace setup for storage already accessed by vm
Michal Privoznik
mprivozn at redhat.com
Wed Nov 22 16:32:40 UTC 2017
On 11/22/2017 04:49 PM, Peter Krempa wrote:
> When doing block commit we need to allow write for members of the
> backing chain so that we can commit the data into them.
>
> qemuDomainDiskChainElementPrepare was used for this which since commit
> 786d8d91b4 calls qemuDomainNamespaceSetupDisk which has very adverse
> side-effects, namely it relabels the nodes to the same label it has in
> the main namespace. This was messing up permissions for the commit
> operation since its touching various parts of a single backing chain.
>
> Since we are are actually not introducing new images at that point add a
> flag for qemuDomainDiskChainElementPrepare which will refrain from
> calling to the namespace setup function.
>
> Calls from qemuDomainSnapshotCreateSingleDiskActive and
> qemuDomainBlockCopyCommon do introduce new members all calls from
> qemuDomainBlockCommit do not, so the calls are anotated accordingly.
>
> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1506072
> ---
> src/qemu/qemu_domain.c | 17 ++++++++++++++---
> src/qemu/qemu_domain.h | 3 ++-
> src/qemu/qemu_driver.c | 12 ++++++------
> 3 files changed, 22 insertions(+), 10 deletions(-)
Yup, I've tested this and it fixes the problem. ACK.
Michal
More information about the libvir-list
mailing list