[fedora-virt] Re: virt-inspector calling guestfs_umount_all() before launch()?

Charles Duffy charles at dyfis.net
Thu May 28 16:50:00 UTC 2009

Richard W.M. Jones wrote:
> Charles, can you see if this fixes the problem?
> It's completely untested, and might even segfault the Perl bindings
> because of BZ #501892 (which really needs to be fixed).
It doesn't fix things completely, due to what appears to be a qemu bug 
-- apparently, -snapshot doesn't work correctly with -drive, and 
snapshot=on needs to be used instead. I've tested this by setting 
LIBGUESTFS_QEMU to a wrapper which adds ,cache=off,snapshot=on to each 
-drive parameter, which works correctly; using only -snapshot fails as 

The generated command line correctly includes -snapshot, and qemu 
correctly creates a read-only file to store changes to, but we still 
fail (albeit differently) on attempted journal replay:

    hda: max request size: 128KiB
    hda: 2016 sectors (1 MB) w/256KiB Cache, CHS=2/16/63, (U)DMA
    hda: cache flushes supported
     hda:<4>hda: dma_timer_expiry: dma status == 0x61
    hda: DMA timeout error
    sock_read_event: 0x9ec8f0 g->state = 1, fd = 3, events = 0x1
    stdout_event: 0x9ec8f0: child process died
    wait_ready: guestfs_wait_ready failed, see earlier error messages at
    /usr/bin/virt-inspector line 219.
    closing guestfs handle 0x9ec8f0 (state 0)

Manually creating a new, writable backing store (qemu-img create -b 
da.qcow2 -f qcow2 da.tmp.qcow2) and running against that (with --force), 
virt-inspector works correctly, just as it does with snapshot=on passed 
to the individual -drive options and no global -snapshot flag at all.

One other issue with that patch is that it passes an empty string rather 
than no secondary parameter at all in place of the null:

    /usr/bin/qemu-kvm -snapshot '' -drive file=da.qcow2 [...]

More information about the Fedora-virt mailing list