Statistics
| Branch: | Revision:

root / block @ 73f5e313

Name Size
blkdebug.c 12.7 kB
blkverify.c 10.2 kB
bochs.c 7 kB
cloop.c 5.8 kB
cow.c 9.3 kB
curl.c 16.3 kB
dmg.c 8.7 kB
iscsi.c 15.8 kB
nbd.c 7.6 kB
parallels.c 4.8 kB
qcow.c 26.5 kB
qcow2-cache.c 7.5 kB
qcow2-cluster.c 27 kB
qcow2-refcount.c 38.1 kB
qcow2-snapshot.c 17 kB
qcow2.c 38.4 kB
qcow2.h 7.8 kB
qed-check.c 5.4 kB
qed-cluster.c 5.1 kB
qed-gencb.c 688 Bytes
qed-l2-cache.c 5.4 kB
qed-table.c 8.7 kB
qed.c 43.8 kB
qed.h 10.6 kB
raw-posix-aio.h 1.3 kB
raw-posix.c 31.7 kB
raw-win32.c 11.6 kB
raw.c 3.4 kB
rbd.c 21.8 kB
sheepdog.c 53.7 kB
vdi.c 30.5 kB
vmdk.c 45.8 kB
vpc.c 19.5 kB
vvfat.c 81 kB

Latest revisions

# Date Author Comment
3a93113a 12/06/2011 11:56 am Dong Xu Wang

fix typo: delete redundant semicolon

Double semicolons should be single.

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

eb5d5bea 12/05/2011 05:39 pm Anthony Liguori

Merge remote-tracking branch 'kwolf/for-anthony' into staging

e8ee5e4c 12/05/2011 03:51 pm Stefan Hajnoczi

coroutine: add qemu_co_queue_restart_all()

It's common to wake up all waiting coroutines. Introduce the
qemu_co_queue_restart_all() function to do this instead of looping over
qemu_co_queue_next() in every caller.

Signed-off-by: Stefan Hajnoczi <>...

e94d1387 12/05/2011 03:51 pm Stefan Hajnoczi

cow: use bdrv_co_is_allocated()

Now that bdrv_co_is_allocated() is available we can use it instead of
the synchronous bdrv_is_allocated() interface. This is a follow-up that
Kevin Wolf <> pointed out after applying the series that
introduces bdrv_co_is_allocated()....

b7d5a5b8 12/05/2011 03:51 pm Stefan Hajnoczi

qed: convert to .bdrv_co_is_allocated()

The bdrv_qed_is_allocated() function is a synchronous wrapper around
qed_find_cluster(), which performs the cluster lookup. In order to
convert the synchronous function to a coroutine function we yield
instead of using qemu_aio_wait(). Note that QED's cache is already safe...

f8a2e5e3 12/05/2011 03:51 pm Stefan Hajnoczi

block: convert qcow2, qcow2, and vmdk to .bdrv_co_is_allocated()

The qcow2, qcow, and vmdk block drivers are based on coroutines. They have a
coroutine mutex which protects internal state. We can convert the
.bdrv_is_allocated() function to .bdrv_co_is_allocated() by holding the mutex...

73f703ca 12/05/2011 03:51 pm Stefan Hajnoczi

vvfat: convert to .bdrv_co_is_allocated()

It is trivial to switch from the synchronous .bdrv_is_allocated()
interface to .bdrv_co_is_allocated() since vvfat_is_allocated() does not
block.

Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

e850b35a 12/05/2011 03:51 pm Stefan Hajnoczi

vdi: convert to .bdrv_co_is_allocated()

It is trivial to switch from the synchronous .bdrv_is_allocated()
interface to .bdrv_co_is_allocated() since vdi_is_allocated() does not
block.

Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

81145834 12/05/2011 03:51 pm Stefan Hajnoczi

cow: convert to .bdrv_co_is_allocated()

The cow block driver does not keep internal state for cluster lookups.
This means it is safe to perform cluster lookups in coroutine context
without risk of race conditions that corrupt internal state.

Signed-off-by: Stefan Hajnoczi <>...

e3f652b3 12/05/2011 03:51 pm Kevin Wolf

qcow2: Fix error path in qcow2_snapshot_load_tmp

If the bdrv_read() of the snapshot's L1 table fails, return the right
error code and make sure that the old L1 table is still loaded and we
don't break the BlockDriverState completely.

Signed-off-by: Kevin Wolf <>...

View revisions

Also available in: Atom