Statistics
| Branch: | Revision:

root / block @ 0d6db300

Name Size
Makefile.objs 795 Bytes
blkdebug.c 15.8 kB
blkverify.c 10.1 kB
bochs.c 7.1 kB
cloop.c 5.9 kB
commit.c 7.3 kB
cow.c 9.5 kB
curl.c 16.8 kB
dmg.c 10.3 kB
gluster.c 17 kB
iscsi.c 34.4 kB
linux-aio.c 5.5 kB
mirror.c 18.7 kB
nbd.c 16.3 kB
parallels.c 4.8 kB
qcow.c 27.2 kB
qcow2-cache.c 7.8 kB
qcow2-cluster.c 36.3 kB
qcow2-refcount.c 41.3 kB
qcow2-snapshot.c 18.6 kB
qcow2.c 51.6 kB
qcow2.h 11.4 kB
qed-check.c 6.5 kB
qed-cluster.c 5.1 kB
qed-gencb.c 688 Bytes
qed-l2-cache.c 5.9 kB
qed-table.c 8.4 kB
qed.c 46 kB
qed.h 10.8 kB
raw-aio.h 1.6 kB
raw-posix.c 48.8 kB
raw-win32.c 15.6 kB
raw.c 3.9 kB
rbd.c 24.6 kB
sheepdog.c 56.4 kB
stream.c 6.7 kB
vdi.c 24.7 kB
vmdk.c 49.4 kB
vpc.c 23.3 kB
vvfat.c 81.6 kB
win32-aio.c 5.9 kB

Latest revisions

# Date Author Comment
f6977f15 03/15/2013 05:07 pm Stefan Hajnoczi

qcow2: flush refcount cache correctly in qcow2_write_snapshots()

Since qcow2 metadata is cached we need to flush the caches, not just the
underlying file. Use bdrv_flush(bs) instead of bdrv_flush(bs->file).

Also add the error return path when bdrv_flush() fails and move the...

c1f5bafd 03/15/2013 05:07 pm Stefan Hajnoczi

qcow2: set L2 cache dependency in qcow2_alloc_bytes()

Compressed writes use qcow2_alloc_bytes() to allocate space with byte
granularity. The affected clusters' refcounts will be incremented but
we do not need to flush yet.

Set a L2 cache dependency on the refcount block cache, so that the...

2154f24e 03/15/2013 05:07 pm Stefan Hajnoczi

qcow2: flush in qcow2_update_snapshot_refcount()

Users of qcow2_update_snapshot_refcount() do not flush consistently.
qcow2_snapshot_create() flushes but qcow2_snapshot_goto() and
qcow2_snapshot_delete() do not.

Solve this by moving the bdrv_flush() into...

f9cb2860 03/15/2013 05:07 pm Stefan Hajnoczi

qcow2: drop flush in update_cluster_refcount()

The update_cluster_refcount() function increments/decrements a cluster's
refcount and then returns the new refcount value.

There is no need to flush since both update_cluster_refcount() callers
already take care of this:...

36479179 03/15/2013 05:07 pm Stefan Hajnoczi

qcow2: drop unnecessary flush in qcow2_update_snapshot_refcount()

We already flush when the function completes. There is no need to flush
after every compressed cluster.

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

381b487d 03/15/2013 05:07 pm Paolo Bonzini

qcow2: make is_allocated return true for zero clusters

Otherwise, live migration of the top layer will miss zero clusters and
let the backing file show through. This also matches what is done in qed.

QCOW2_CLUSTER_ZERO clusters are invalid in v2 image files. Check this...

0d6db300 03/15/2013 05:07 pm MORITA Kazutaka

sheepdog: use non-blocking fd in coroutine context

Using a blocking socket in the coroutine context reduces the chance of
switching to other work. This patch makes the sheepdog driver use a
non-blocking fd always.

Signed-off-by: MORITA Kazutaka <>...

de9c0cec 03/15/2013 05:07 pm Kevin Wolf

block: Add options QDict to bdrv_open() prototype

It doesn't do anything yet except storing the options QDict in the
BlockDriverState.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Eric Blake <>
Reviewed-by: Stefan Hajnoczi <>...

74c4510a 03/15/2013 05:07 pm Kevin Wolf

qcow2: Allow lazy refcounts to be enabled on the command line

qcow2 images now accept a boolean lazy_refcounts options. Use it like
this:

-drive file=test.qcow2,lazy_refcounts=on

If the option is specified on the command line, it overrides the default...

9991923b 03/15/2013 05:07 pm Stefan Hajnoczi

qcow2: flush refcount cache correctly in alloc_refcount_block()

update_refcount() affects the refcount cache, it does not write to disk.
Therefore bdrv_flush(bs->file) does nothing. We need to flush the
refcount cache in order to write out the refcount updates!...

View revisions

Also available in: Atom