summaryrefslogtreecommitdiff
path: root/block_int.h
diff options
context:
space:
mode:
authorFam Zheng <famcool@gmail.com>2011-07-12 19:56:39 +0800
committerKevin Wolf <kwolf@redhat.com>2011-07-19 15:39:08 +0200
commit4a1d5e1fded54358ddc4d8cbd53388ca7c93499b (patch)
treee317502ecc47e7cf31ab53bbc3f4dd2c9b92c7f0 /block_int.h
parentae261c86aaed62e7acddafab8262a2bf286d40b7 (diff)
downloadqemu-4a1d5e1fded54358ddc4d8cbd53388ca7c93499b.tar.gz
block: add bdrv_get_allocated_file_size() operation
qemu-img.c wants to count allocated file size of image. Previously it counts a single bs->file by 'stat' or Window API. As VMDK introduces multiple file support, the operation becomes format specific with platform specific meanwhile. The functions are moved to block/raw-{posix,win32}.c and qemu-img.c calls bdrv_get_allocated_file_size to count the bs. And also added VMDK code to count his own extents. Signed-off-by: Fam Zheng <famcool@gmail.com> Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block_int.h')
-rw-r--r--block_int.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/block_int.h b/block_int.h
index 8a7b6cbb42..efb68038c4 100644
--- a/block_int.h
+++ b/block_int.h
@@ -86,6 +86,7 @@ struct BlockDriver {
const char *protocol_name;
int (*bdrv_truncate)(BlockDriverState *bs, int64_t offset);
int64_t (*bdrv_getlength)(BlockDriverState *bs);
+ int64_t (*bdrv_get_allocated_file_size)(BlockDriverState *bs);
int (*bdrv_write_compressed)(BlockDriverState *bs, int64_t sector_num,
const uint8_t *buf, int nb_sectors);