A simple reproducer below.
Export a disk image over NBD (I realize port 10809 is default, thought
I'd explicitly mention anyhow):
$ qemu-nbd --f qcow2 -p10809 \
/var/lib/libvirt/images/cirros-0.3.3-x86_64-disk.img -t
Create an overlay with backing file exported via NBD:
$ qemu-img create -f qcow2 -F \
nbd -o backing_file=nbd://localhost overlay1.qcow2
Formatting 'overlay1.qcow2', fmt=qcow2 size=41126400
backing_file='nbd://localhost' backing_fmt='nbd' encryption=off
cluster_size=65536 lazy_refcounts=off
Let's attempt to boot the overlay with a minimal QEMU:
$ qemu-system-x86_64 \
-nographic \
-nodefconfig \
-nodefaults \
-m 2048 \
-device virtio-scsi-pci,id=scsi \
-device virtio-serial-pci \
-serial stdio \
-drive file=./overlay1.qcow2,format=qcow2,if=virtio,cache=writeback
Segmentation fault (core dumped)
On the shell where `qemu-nbd` is running, I notice this
nbd.c:nbd_receive_request():L756: read failed
Haven't investigated further with GDB, thought I'd bring it up here
first.
Versions
--------
$ rpm -q qemu; uname -r
qemu-2.1.2-7.fc21.x86_64
3.17.8-300.fc21.x86_64
--
/kashyap