Statistics
| Branch: | Revision:

root / block @ 5cd8f621

Name Size
Makefile.objs 916 Bytes
backup.c 11.8 kB
blkdebug.c 17.6 kB
blkverify.c 11.9 kB
bochs.c 7.1 kB
cloop.c 5.9 kB
commit.c 7.3 kB
cow.c 11.1 kB
curl.c 18.5 kB
dmg.c 10.4 kB
gluster.c 19.1 kB
iscsi.c 42.6 kB
linux-aio.c 5.2 kB
mirror.c 18.8 kB
nbd.c 18.8 kB
parallels.c 4.9 kB
qapi.c 16.3 kB
qcow.c 28.4 kB
qcow2-cache.c 8.7 kB
qcow2-cluster.c 54.3 kB
qcow2-refcount.c 58.7 kB
qcow2-snapshot.c 20.6 kB
qcow2.c 65.3 kB
qcow2.h 15.6 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.8 kB
qed.h 10.8 kB
raw-aio.h 1.6 kB
raw-posix.c 50.2 kB
raw-win32.c 17.1 kB
raw_bsd.c 5.9 kB
rbd.c 26.7 kB
sheepdog.c 64.3 kB
snapshot.c 8.4 kB
ssh.c 29.1 kB
stream.c 6.8 kB
vdi.c 25.2 kB
vhdx.c 30.8 kB
vhdx.h 14.8 kB
vmdk.c 55.2 kB
vpc.c 23.7 kB
vvfat.c 84.7 kB
win32-aio.c 5.7 kB

Latest revisions

# Date Author Comment
e3b21ef9 10/07/2013 02:23 pm Max Reitz

qcow2: Free allocated L2 cluster on error

If an error occurs in l2_allocate, the allocated (but unused) L2 cluster
should be freed.

Signed-off-by: Max Reitz <>
Reviewed-by: Benoit Canet <>
Signed-off-by: Stefan Hajnoczi <>

fda74f82 10/02/2013 04:38 pm Max Reitz

qcow2: Switch L1 table in a single sequence

Switching the L1 table in memory should be an atomic operation, as far
as possible. Calling qcow2_free_clusters on the old L1 table on disk is
not a good idea when the old L1 table is no longer valid and the address...

5641bf40 10/02/2013 04:24 pm Jeff Cody

block: vhdx - add migration blocker

This blocks migration for VHDX image files, until the
functionality can be supported.

Signed-off-by: Jeff Cody <>
Signed-off-by: Stefan Hajnoczi <>

db074901 10/02/2013 12:40 pm Max Reitz

qcow2: CHECK_OFLAG_COPIED is obsolete

CHECK_OFLAG_COPIED as a parameter to check_refcounts_l1 and
check_refcounts_l2 is obselete now, since the OFLAG_COPIED consistency
check is actually no longer performed by these functions (but by
check_oflag_copied)....

1e242b55 10/02/2013 12:06 pm Max Reitz

qcow2: Correct endianness in overlap check

If an inactive L1 table is loaded from disk, its entries are in big
endian and have to be converted to host byte order before using them.

Signed-off-by: Max Reitz <>
Reviewed-by: Kevin Wolf <>...

be0b742e 09/27/2013 06:22 pm Max Reitz

qcow2: Always use error path in l2_allocate

Just returning -errno in some cases prevents
trace_qcow2_l2_allocate_done from being executed (and, in one case, also
the unused allocated L2 table from being freed). Always going down the
error path fixes this....

320c7066 09/27/2013 06:22 pm Max Reitz

qcow2: Free only newly allocated clusters on error

In expand_zero_clusters_in_l1, a new cluster is only allocated if it was
not already preallocated. On error, such preallocated clusters should
not be freed, but only the newly allocated ones.

Signed-off-by: Max Reitz <>...

15684a47 09/27/2013 06:22 pm Max Reitz

qcow2: count_contiguous_clusters and compression

The function is not intended to be used on compressed clusters and will
not work correctly, if used anyway, since L2E_OFFSET_MASK is not the
right mask for determining the offset of compressed clusters. Therefore,...

22f0dd29 09/27/2013 06:22 pm Max Reitz

qcow2: COMPRESSED on count_contiguous_clusters

Compressed clusters can never be contiguous, therefore the corresponding
flag does not need to be given explicitly to count_contiguous_clusters.

Signed-off-by: Max Reitz <>
Signed-off-by: Kevin Wolf <>

61653008 09/27/2013 06:22 pm Kevin Wolf

qcow2: Remove useless count_contiguous_clusters() parameter

All callers pass start = 0, and it's doubtful if any other value would
actually do what you expect. Remove the parameter.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Jeff Cody <>

View revisions

Also available in: Atom