Peter Feiner d80ac658f2 block: fix backing file segfault
When a backing file is opened such that (1) a protocol is directly
used as the block driver and (2) the block driver has bdrv_file_open,
bdrv_open_backing_file segfaults. The problem arises because
bdrv_open_common returns without setting bd->backing_hd->file.

To effect (1), you seem to have to use the -F flag in qemu-img. There
are several block drivers that satisfy (2), such as "file" and "nbd".
Here are some concrete examples:

    #!/bin/bash

    echo Test file format
    ./qemu-img create -f file base.file 1m
    ./qemu-img create -f qcow2 -F file -o backing_file=base.file\
        file-overlay.qcow2
    ./qemu-img convert -O raw file-overlay.qcow2 file-convert.raw

    echo Test nbd format
    SOCK=$PWD/nbd.sock
    ./qemu-img create -f raw base.raw 1m
    ./qemu-nbd -t -k $SOCK base.raw &
    trap "kill $!" EXIT
    while ! test -e $SOCK; do sleep 1; done
    ./qemu-img create -f qcow2 -F nbd -o backing_file=nbd:unix:$SOCK\
        nbd-overlay.qcow2
    ./qemu-img convert -O raw nbd-overlay.qcow2 nbd-convert.raw

Without this patch, the two qemu-img convert commands segfault.

This is a regression that was introduced in v1.7 by
dbecebddfa.

Signed-off-by: Peter Feiner <peter@gridcentric.ca>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2014-01-22 13:47:52 +01:00
2013-04-18 13:50:53 +02:00
2013-07-09 13:38:56 -05:00
2014-01-22 12:07:18 +01:00
2013-12-06 08:55:42 +01:00
2013-08-07 12:48:00 -05:00
2013-11-25 20:35:28 -08:00
2013-12-06 08:55:42 +01:00
2013-12-21 16:41:56 +01:00
2014-01-22 12:07:18 +01:00
2013-05-03 13:58:09 +02:00
2014-01-12 22:27:10 +00:00
…
2013-12-02 21:02:57 +04:00
2013-10-11 09:34:56 -07:00
2013-09-05 09:40:31 -05:00
2014-01-08 19:07:20 +00:00
…
2014-01-22 13:47:52 +01:00
2013-10-11 10:52:54 +02:00
2013-10-11 09:34:56 -07:00
…
2013-11-04 15:39:41 +02:00
2013-07-23 02:41:31 +02:00
2013-02-21 16:17:31 -06:00
2013-08-12 09:15:12 -05:00
2013-09-03 12:25:55 +02:00
2013-05-18 16:35:12 +04:00
2014-01-22 12:07:17 +01:00
2014-01-22 12:07:18 +01:00
2013-12-04 15:19:00 +01:00
2013-12-04 15:19:00 +01:00
2013-07-19 12:52:03 +04:00
2013-10-11 09:34:56 -07:00
2013-09-25 21:23:05 +02:00
…
2013-11-27 14:02:45 -08:00
2013-10-11 09:34:56 -07:00
…
2013-04-08 18:13:10 +02:00

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team
S
Description
Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
Readme GPL-2.0
707 MiB
0 Stars 1 Watchers 0 Forks
Languages
C 82.3%
C++ 6.9%
Python 3.5%
Dylan 2.7%
Shell 1.5%
Other 2.9%