提交 f4af02ed 编写于 作者: A aliguori

fix bug in block-qcow2.c:alloc_cluster_offset() (Shahar Frank)

During the debugging of the new revision of the zero dedup patch I
stepped on the following bug in block-qcow2.c:alloc_cluster_offset(). I
am not sure what the exact damage this bug can do, but it may be very
nasty because you way not notice it effects until you will do some
snapshot operations or similar actions that rely on the reference
counting.

The bug is easy to spot using the new "check" verb I added to the
qemu-img in one of the previous patches. I will resend the qemu-img
patch again with the new version of the zero dedup.
Signed-off-by: NShahar Frank <shaharf@qumranet.com>
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5313 c046a42c-6fe2-441c-8c8c-71466251a162
上级 234c9bcd
...@@ -917,7 +917,7 @@ static uint64_t alloc_cluster_offset(BlockDriverState *bs, ...@@ -917,7 +917,7 @@ static uint64_t alloc_cluster_offset(BlockDriverState *bs,
/* how many free clusters ? */ /* how many free clusters ? */
while (i < nb_clusters) { while (i < nb_clusters) {
cluster_offset = l2_table[l2_index + i]; cluster_offset = be64_to_cpu(l2_table[l2_index + i]);
if (cluster_offset != 0) if (cluster_offset != 0)
break; break;
i++; i++;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册