]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/qemu-xen.git/commit
qcow2: remove n_start and n_end of qcow2_alloc_cluster_offset()
authorHu Tao <hutao@cn.fujitsu.com>
Sun, 26 Jan 2014 03:12:37 +0000 (11:12 +0800)
committerKevin Wolf <kwolf@redhat.com>
Sun, 9 Feb 2014 08:12:39 +0000 (09:12 +0100)
commit16f0587e0a5da5b1ad76cb7c3739491bc042201c
treefe16fb6117ff4ea4eedaf790b369721db262b296
parent5d259fc7da83249a4f78fe32de2bc2874a997a9f
qcow2: remove n_start and n_end of qcow2_alloc_cluster_offset()

n_start can be actually calculated from offset. The number of
sectors to be allocated(n_end - n_start) can be passed in in
num. By removing n_start and n_end, we can save two parameters.

The side effect is there is a bug in qcow2.c:preallocate() that
passes incorrect n_start to qcow2_alloc_cluster_offset() is
fixed. The bug can be triggerred by a larger cluster size than
the default value(65536), for example:

./qemu-img create -f qcow2 \
  -o 'cluster_size=131072,preallocation=metadata' file.img 4G

Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Benoit Canet <benoit@irqsave.net>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/qcow2-cluster.c
block/qcow2.c
block/qcow2.h
trace-events