On 03/09/2011 07:18 PM, Eric Blake wrote: > Spawn the compressor ourselves, instead of requiring the shell. > > * src/qemu/qemu_driver.c (qemuDomainMigrateToFile): Spawn > compression helper process when needed. > --- > src/qemu/qemu_driver.c | 37 ++++++++++++++++++++++++++++++++----- > 1 files changed, 32 insertions(+), 5 deletions(-) Phooey. Testing this reveals that we have a bigger problem. If save_image_format in qemu.conf is not raw, then we use -incoming fd:22 for 'virsh restore dom.sav'; however, we tie it to a pipe fd created by virExec. And virExec creates the libvirt side of the pipe as cloexec. So the side of the pipe that we hand to qemu is closed on exec, and the restore side causes qemu to fail with: Migration failed. Exit code fd:23(-9), exiting. That has to be fixed before I can test whether this patch works, since it takes a save/restore cycle on a compressed image to feel 100% confident (although I think that save side is correct, given that everything prior to the qemu getting EBADF worked correctly as I was stepping through the debugger). -- Eric Blake eblake@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list