summary refs log tree commit diff stats
diff options
context:
space:
mode:
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2009-01-27 14:29:15 +0000
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2009-01-27 14:29:15 +0000
commit378e2aea1b2ad216158cf172f7f218fe041f7b1f (patch)
tree295209def6dc26af028be352c3b6f7549cfc0a72
parent5281966437e448e432da25cfba801e4dcf0b9460 (diff)
downloadfocaccia-qemu-378e2aea1b2ad216158cf172f7f218fe041f7b1f.tar.gz
focaccia-qemu-378e2aea1b2ad216158cf172f7f218fe041f7b1f.zip
block-vpc: Fix support for images > 4 GB (Kevin Wolf)
This patch fixes the truncation of sector offsets to 32 bits.

Signed-off-by: Kevin Wolf <kwolf@suse.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6464 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--block-vpc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block-vpc.c b/block-vpc.c
index f46ff8cd73..3eea506e7c 100644
--- a/block-vpc.c
+++ b/block-vpc.c
@@ -256,7 +256,7 @@ static inline int64_t get_sector_offset(BlockDriverState *bs,
     if (pagetable_index >= s->max_table_entries || s->pagetable[pagetable_index] == 0xffffffff)
         return -1; // not allocated
 
-    bitmap_offset = 512 * s->pagetable[pagetable_index];
+    bitmap_offset = 512 * (uint64_t) s->pagetable[pagetable_index];
     block_offset = bitmap_offset + s->bitmap_size + (512 * pageentry_index);
 
     // We must ensure that we don't write to any sectors which are marked as