summaryrefslogtreecommitdiff
path: root/block.h
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2010-06-16 16:38:15 +0200
committerKevin Wolf <kwolf@redhat.com>2010-06-22 14:38:02 +0200
commitf08145fe16470aca09304099888f68cfbc5d1de7 (patch)
tree199785df12db2df24365f4e991a5e31f69ebb77d /block.h
parent3b5276b5ec52f461f23e62d4560686f10d27605e (diff)
downloadqemu-f08145fe16470aca09304099888f68cfbc5d1de7.tar.gz
block: Add bdrv_(p)write_sync
Add new functions that write and flush the written data to disk immediately. This is what needs to be used for image format metadata to maintain integrity for cache=... modes that don't use O_DSYNC. (Actually, we only need barriers, and therefore the functions are defined as such, but flushes is what is implemented in this patch - we can try to change that later) Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block.h')
-rw-r--r--block.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/block.h b/block.h
index 9df9b38f15..6a157f4382 100644
--- a/block.h
+++ b/block.h
@@ -80,6 +80,10 @@ int bdrv_pread(BlockDriverState *bs, int64_t offset,
void *buf, int count);
int bdrv_pwrite(BlockDriverState *bs, int64_t offset,
const void *buf, int count);
+int bdrv_pwrite_sync(BlockDriverState *bs, int64_t offset,
+ const void *buf, int count);
+int bdrv_write_sync(BlockDriverState *bs, int64_t sector_num,
+ const uint8_t *buf, int nb_sectors);
int bdrv_truncate(BlockDriverState *bs, int64_t offset);
int64_t bdrv_getlength(BlockDriverState *bs);
void bdrv_get_geometry(BlockDriverState *bs, uint64_t *nb_sectors_ptr);