diff options
author | Kevin Wolf <kwolf@redhat.com> | 2010-06-16 17:44:35 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2010-06-22 14:38:02 +0200 |
commit | 8b3b720620a1137a1b794fc3ed64734236f94e06 (patch) | |
tree | dc1969b634bd85275c343f16b90af598689a6951 /block/qcow2.c | |
parent | 5e5557d97026d1d3325e0e7b0ba593366da2f3dc (diff) |
qcow2: Use bdrv_(p)write_sync for metadata writes
Use bdrv_(p)write_sync to ensure metadata integrity in case of a crash.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block/qcow2.c')
-rw-r--r-- | block/qcow2.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/block/qcow2.c b/block/qcow2.c index 33fa9a9012..d29e6b6c05 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -735,7 +735,7 @@ static int qcow2_update_ext_header(BlockDriverState *bs, backing_file_offset = sizeof(QCowHeader) + offset; } - ret = bdrv_pwrite(bs->file, sizeof(QCowHeader), buf, ext_size); + ret = bdrv_pwrite_sync(bs->file, sizeof(QCowHeader), buf, ext_size); if (ret < 0) { goto fail; } @@ -744,13 +744,13 @@ static int qcow2_update_ext_header(BlockDriverState *bs, uint64_t be_backing_file_offset = cpu_to_be64(backing_file_offset); uint32_t be_backing_file_size = cpu_to_be32(backing_file_len); - ret = bdrv_pwrite(bs->file, offsetof(QCowHeader, backing_file_offset), + ret = bdrv_pwrite_sync(bs->file, offsetof(QCowHeader, backing_file_offset), &be_backing_file_offset, sizeof(uint64_t)); if (ret < 0) { goto fail; } - ret = bdrv_pwrite(bs->file, offsetof(QCowHeader, backing_file_size), + ret = bdrv_pwrite_sync(bs->file, offsetof(QCowHeader, backing_file_size), &be_backing_file_size, sizeof(uint32_t)); if (ret < 0) { goto fail; @@ -1131,8 +1131,8 @@ static int qcow2_truncate(BlockDriverState *bs, int64_t offset) /* write updated header.size */ offset = cpu_to_be64(offset); - ret = bdrv_pwrite(bs->file, offsetof(QCowHeader, size), - &offset, sizeof(uint64_t)); + ret = bdrv_pwrite_sync(bs->file, offsetof(QCowHeader, size), + &offset, sizeof(uint64_t)); if (ret < 0) { return ret; } |