]> git.ipfire.org Git - thirdparty/libvirt.git/commit
migration: do not restore labels on failed migration
authorEric Blake <eblake@redhat.com>
Tue, 20 Aug 2013 22:39:16 +0000 (16:39 -0600)
committerEric Blake <eblake@redhat.com>
Wed, 21 Aug 2013 14:06:47 +0000 (08:06 -0600)
commite4ddcf09fb3efa4c5014e0c3259a05beb0f719a8
tree88329b90d7859d50df517aafa4c6d96d9b915a22
parentd7c4e00367339baf1969c56e6dd40aa1e89f9590
migration: do not restore labels on failed migration

https://bugzilla.redhat.com/show_bug.cgi?id=822052

When doing a live migration, if the destination fails for any
reason after the point in which files should be labeled, then
the cleanup of the destination would restore the labels to their
defaults, even though the source is still trying to continue
running with the image open.  Bug 822052 mentioned one source
of live migration failure - a mismatch in SELinux virt_use_nfs
settings (on for source, off for destination); but I found other
situations that would also trigger it (for example, having a
graphics device tied to port 5999 on the source, and a different
domain on the destination already using that port, so that the
destination cannot reuse the port).

In short, just as cleanup of the source on a successful migration
must not relabel files (because the destination would be crippled
by the relabel), cleanup of the destination on a failed migration
must not relabel files (because the source would be crippled).

* src/qemu/qemu_process.c (qemuProcessStart): Set flag to avoid
label restoration when cleaning up on failed migration.

Signed-off-by: Eric Blake <eblake@redhat.com>
src/qemu/qemu_process.c