[libvirt] [re-send][PATCH 1/3] add qemu driver hook

Daniel P. Berrange berrange at redhat.com
Wed Oct 10 14:00:31 UTC 2012

On Mon, Oct 08, 2012 at 08:05:21PM -0600, Eric Blake wrote:
> On 10/08/2012 07:51 PM, liguang wrote:
> > this hook aimed at migration only, it supposed
> > to be used as a helper of migrate --copy-storage-*
> > features to remove the unreasonable limitation
> > of pre-exist disk images at migration target.
> > someone can add more functions to hook files.
> NACK.  Instead of writing a hook that runs outside of libvirt and has to
> be installed to be of use, we should instead fix libvirt to do the file
> creation itself.  That is, you should be patching
> src/qemu/qemu_migration.c to detect when copy-storage-* has been passed,
> and to then pre-create the proper empty files and give them correct
> SELinux labels.

Correctly doing auto-creation of disk images on the target host is
alot more complicated that you might assume, and the hook script
here misses alot of the hard bits

 - If the migration fails, you need to clean up these disk images
   you just created, because the data in them may be incomplete
   or corrupt.

 - If the source image is using encryption, then the target image
   should use encryption too

 - If the source image uses a backing file, then when incremental
   copy is requested, we might need to maintain the backing store.

 - if the migration API did not have either of the --copy-*
   flags set we should not be doing any creation of disk images

 - We need to handling of non-file based disk images, because
   even block devices may be local-only.

 - If the user passed a custom XML for the target that differs
   from the source, this may affect decisions we need to make
   above wrt encryption or backing files

Finally, we should *not* do auto-creation by default - we need to
add a new migrate flag to allow apps to turn it on, only if they
want it.

|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

More information about the libvir-list mailing list