Comment 0 for bug 1077838

Revision history for this message
Robert Collins (lifeless) wrote :

Something about qemu-nbd -r -c /dev/nbd0 someimg leaves cruft behind - subsequent connections get marked readonly.

This is on quantal, haven't checked precise or raring.

To demonstrate:
# use one image
qemu-img create -f qcow2 /tmp/1.qcow2 100M
sudo qemu-nbd -c /dev/nbd2 /tmp/1.qcow2
sudo mkfs -t ext4 /dev/nbd2
sudo qemu-nbd -d /dev/nbd2
# use a second one on the same nbd device, shows that reuse works:
qemu-img create -f qcow2 /tmp/2.qcow2 100M
sudo qemu-nbd -c /dev/nbd2 /tmp/2.qcow2
sudo mkfs -t ext4 /dev/nbd2
sudo qemu-nbd -d /dev/nbd2
# connect an image in read only mode
sudo qemu-nbd -r -c /dev/nbd2 /tmp/2.qcow2
sudo dumpe2fs /dev/nbd2 | head -n 3
sudo qemu-nbd -d /dev/nbd2
# now try to reuse in read-write mode again:
qemu-img create -f qcow2 /tmp/3.qcow2 100M
sudo qemu-nbd -c /dev/nbd2 /tmp/3.qcow2
sudo mkfs -t ext4 /dev/nbd2
# here it goes boom:
mke2fs 1.42.5 (29-Jul-2012)
/dev/nbd2: Operation not permitted while setting up superblock
# still need to cleanup
sudo qemu-nbd -d /dev/nbd2