qemu/block
Stefan Priebe 473c7f0255 rbd: Fix race between aio completition and aio cancel
This one fixes a race which qemu had also in iscsi block driver
between cancellation and io completition.

qemu_rbd_aio_cancel was not synchronously waiting for the end of
the command.

To archieve this it introduces a new status flag which uses
-EINPROGRESS.

Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
Reviewed-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-12-11 11:05:11 +01:00
..
blkdebug.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00
blkverify.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00
bochs.c block: take lock around bdrv_read implementations 2011-10-21 17:34:14 +02:00
cloop.c block/cloop: Use g_free instead of free 2011-11-04 14:24:12 +01:00
commit.c aio: Get rid of qemu_aio_flush() 2012-12-11 11:04:25 +01:00
cow.c block: Fix spelling in comment (ineffcient -> inefficient) 2012-04-19 15:48:52 +02:00
curl.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00
dmg.c block: take lock around bdrv_read implementations 2011-10-21 17:34:14 +02:00
gluster.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00
iscsi.c iscsi: do not assume device is zero initialized 2012-11-28 12:51:58 +01:00
linux-aio.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00
Makefile.objs Merge remote-tracking branch 'origin/master' into threadpool 2012-10-31 10:42:51 +01:00
mirror.c aio: Get rid of qemu_aio_flush() 2012-12-11 11:04:25 +01:00
nbd.c nbd: accept URIs 2012-11-12 14:38:28 +01:00
parallels.c block: take lock around bdrv_read implementations 2011-10-21 17:34:14 +02:00
qcow2-cache.c qcow2: always operate caches in writeback mode 2012-06-15 14:03:43 +02:00
qcow2-cluster.c qcow2: implement lazy refcounts 2012-08-06 22:39:14 +02:00
qcow2-refcount.c qcow2: Fix refcount table size calculation 2012-11-14 18:19:21 +01:00
qcow2-snapshot.c qcow2: fix #ifdef'd qcow2_check_refcounts() callers 2012-07-09 15:53:01 +02:00
qcow2.c qcow2: mark this file's sole strncpy use as justified 2012-10-05 07:58:38 -05:00
qcow2.h qcow2: implement lazy refcounts 2012-08-06 22:39:14 +02:00
qcow.c block: qcow image file reopen 2012-09-24 15:15:12 +02:00
qed-check.c qed: mark image clean after repair succeeds 2012-08-10 10:25:12 +02:00
qed-cluster.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qed-gencb.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qed-l2-cache.c qed: do not evict in-use L2 table cache entries 2012-03-12 15:14:06 +01:00
qed-table.c cleanup useless return sentence 2012-10-05 15:10:21 +02:00
qed.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00
qed.h qed: mark image clean after repair succeeds 2012-08-10 10:25:12 +02:00
raw-aio.h raw-win32: implement native asynchronous I/O 2012-10-31 10:38:13 +01:00
raw-posix.c raw-posix: inline paio_ioctl into hdev_aio_ioctl 2012-12-11 11:04:26 +01:00
raw-win32.c raw-win32: implement native asynchronous I/O 2012-10-31 10:38:13 +01:00
raw.c block: raw image file reopen 2012-09-24 15:15:12 +02:00
rbd.c rbd: Fix race between aio completition and aio cancel 2012-12-11 11:05:11 +01:00
sheepdog.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00
stream.c aio: Get rid of qemu_aio_flush() 2012-12-11 11:04:25 +01:00
vdi.c vdi: don't override libuuid symbols 2012-11-21 09:40:29 +01:00
vmdk.c vmdk: Fix data corruption bug in WRITE and READ handling 2012-11-14 18:19:23 +01:00
vpc.c block: vpc support for ~2 TB disks 2012-12-11 11:04:26 +01:00
vvfat.c block: Convert close calls to qemu_close 2012-08-15 10:48:57 +02:00
win32-aio.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00