qemu-e2k/block
Kevin Wolf 191fb11bdf qcow2: Make image inaccessible after failed qcow2_invalidate_cache()
If qcow2_invalidate_cache() fails, we are in a state where qcow2_close()
has already been completed, but the image hasn't been reopened yet.
Calling into any qcow2 function for an image in this state will cause
crashes.

The real solution would be to get rid of the close/open pair and instead
do an atomic reset of the involved data structures, but this isn't
trivial, so let's just make the image inaccessible for now.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
2016-01-20 13:36:24 +01:00
..
accounting.c block: Clean up includes 2016-01-20 13:36:23 +01:00
archipelago.c block: Clean up includes 2016-01-20 13:36:23 +01:00
backup.c block: Clean up includes 2016-01-20 13:36:23 +01:00
blkdebug.c block: Clean up includes 2016-01-20 13:36:23 +01:00
blkverify.c block: Clean up includes 2016-01-20 13:36:23 +01:00
block-backend.c block: Clean up includes 2016-01-20 13:36:23 +01:00
bochs.c block: Clean up includes 2016-01-20 13:36:23 +01:00
cloop.c block: Clean up includes 2016-01-20 13:36:23 +01:00
commit.c block: Clean up includes 2016-01-20 13:36:23 +01:00
curl.c block: Clean up includes 2016-01-20 13:36:23 +01:00
dmg.c block: Clean up includes 2016-01-20 13:36:23 +01:00
gluster.c block: Clean up includes 2016-01-20 13:36:23 +01:00
io.c block: Rename BDRV_O_INCOMING to BDRV_O_INACTIVE 2016-01-20 13:36:23 +01:00
iscsi.c block: Clean up includes 2016-01-20 13:36:23 +01:00
linux-aio.c block: Clean up includes 2016-01-20 13:36:23 +01:00
Makefile.objs block: convert quorum blockdrv to use crypto APIs 2015-07-08 13:11:01 +02:00
mirror.c block: Clean up includes 2016-01-20 13:36:23 +01:00
nbd-client.c block: Clean up includes 2016-01-20 13:36:23 +01:00
nbd-client.h nbd: Set block size to BDRV_SECTOR_SIZE 2015-03-18 12:07:01 +01:00
nbd.c block: Clean up includes 2016-01-20 13:36:23 +01:00
nfs.c block: Clean up includes 2016-01-20 13:36:23 +01:00
null.c block: Clean up includes 2016-01-20 13:36:23 +01:00
parallels.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qapi.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qcow2-cache.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qcow2-cluster.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qcow2-refcount.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qcow2-snapshot.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qcow2.c qcow2: Make image inaccessible after failed qcow2_invalidate_cache() 2016-01-20 13:36:24 +01:00
qcow2.h qcow2: Add function for refcount order amendment 2015-12-18 14:34:43 +01:00
qcow.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-check.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-cluster.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-gencb.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-l2-cache.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-table.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed.c block: Rename BDRV_O_INCOMING to BDRV_O_INACTIVE 2016-01-20 13:36:23 +01:00
qed.h qed: Really remove unused field QEDAIOCB.finished 2015-02-06 17:24:21 +01:00
quorum.c block: Clean up includes 2016-01-20 13:36:23 +01:00
raw_bsd.c block: Clean up includes 2016-01-20 13:36:23 +01:00
raw-aio.h linux-aio: drop return code from laio_io_unplug and ioq_submit 2014-12-12 16:57:55 +00:00
raw-posix.c block: Clean up includes 2016-01-20 13:36:23 +01:00
raw-win32.c block: Clean up includes 2016-01-20 13:36:23 +01:00
rbd.c block: Clean up includes 2016-01-20 13:36:23 +01:00
sheepdog.c block: Clean up includes 2016-01-20 13:36:23 +01:00
snapshot.c block: Clean up includes 2016-01-20 13:36:23 +01:00
ssh.c block: Clean up includes 2016-01-20 13:36:23 +01:00
stream.c block: Clean up includes 2016-01-20 13:36:23 +01:00
throttle-groups.c block: Clean up includes 2016-01-20 13:36:23 +01:00
vdi.c block: Clean up includes 2016-01-20 13:36:23 +01:00
vhdx-endian.c block: Clean up includes 2016-01-20 13:36:23 +01:00
vhdx-log.c block: Clean up includes 2016-01-20 13:36:23 +01:00
vhdx.c block: Clean up includes 2016-01-20 13:36:23 +01:00
vhdx.h block: vhdx - update PAYLOAD_BLOCK_UNMAPPED value to match 1.00 spec 2014-12-12 15:42:22 +00:00
vmdk.c block: Clean up includes 2016-01-20 13:36:23 +01:00
vpc.c block: Clean up includes 2016-01-20 13:36:23 +01:00
vvfat.c block: Clean up includes 2016-01-20 13:36:23 +01:00
win32-aio.c block: Clean up includes 2016-01-20 13:36:23 +01:00
write-threshold.c block: Clean up includes 2016-01-20 13:36:23 +01:00