[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [STABLE][PATCH 11/14] vmdk: Use bdrv_(p)write_sync for meta
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [STABLE][PATCH 11/14] vmdk: Use bdrv_(p)write_sync for metadata writes |
Date: |
Wed, 14 Jul 2010 13:24:10 +0200 |
Use bdrv_(p)write_sync to ensure metadata integrity in case of a crash.
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit b8852e87d9d113096342c3e0977266cda0fe9ee5)
Conflicts:
block/vmdk.c
Signed-off-by: Kevin Wolf <address@hidden>
---
block/vmdk.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/block/vmdk.c b/block/vmdk.c
index d52904a..cd87279 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -153,7 +153,7 @@ static int vmdk_write_cid(BlockDriverState *bs, uint32_t
cid)
pstrcat(desc, sizeof(desc), tmp_desc);
}
- if (bdrv_pwrite(s->hd, 0x200, desc, DESC_SIZE) != DESC_SIZE)
+ if (bdrv_pwrite_sync(s->hd, 0x200, desc, DESC_SIZE) < 0)
return -1;
return 0;
}
@@ -482,14 +482,14 @@ static int vmdk_L2update(BlockDriverState *bs,
VmdkMetaData *m_data)
BDRVVmdkState *s = bs->opaque;
/* update L2 table */
- if (bdrv_pwrite(s->hd, ((int64_t)m_data->l2_offset * 512) +
(m_data->l2_index * sizeof(m_data->offset)),
- &(m_data->offset), sizeof(m_data->offset)) !=
sizeof(m_data->offset))
+ if (bdrv_pwrite_sync(s->hd, ((int64_t)m_data->l2_offset * 512) +
(m_data->l2_index * sizeof(m_data->offset)),
+ &(m_data->offset), sizeof(m_data->offset)) < 0)
return -1;
/* update backup L2 table */
if (s->l1_backup_table_offset != 0) {
m_data->l2_offset = s->l1_backup_table[m_data->l1_index];
- if (bdrv_pwrite(s->hd, ((int64_t)m_data->l2_offset * 512) +
(m_data->l2_index * sizeof(m_data->offset)),
- &(m_data->offset), sizeof(m_data->offset)) !=
sizeof(m_data->offset))
+ if (bdrv_pwrite_sync(s->hd, ((int64_t)m_data->l2_offset * 512) +
(m_data->l2_index * sizeof(m_data->offset)),
+ &(m_data->offset), sizeof(m_data->offset)) < 0)
return -1;
}
--
1.7.1.1
- [Qemu-devel] [STABLE][PULL 00/14] Block patches for 0.12.5, Kevin Wolf, 2010/07/14
- [Qemu-devel] [STABLE][PATCH 01/14] vmdk: fix double free, Kevin Wolf, 2010/07/14
- [Qemu-devel] [STABLE][PATCH 04/14] qcow2: Remove abort on free_clusters failure, Kevin Wolf, 2010/07/14
- [Qemu-devel] [STABLE][PATCH 03/14] vmdk: Fix COW, Kevin Wolf, 2010/07/14
- [Qemu-devel] [STABLE][PATCH 02/14] qcow2: Fix creation of large images, Kevin Wolf, 2010/07/14
- [Qemu-devel] [STABLE][PATCH 05/14] block/vpc: Fix conversion from size to disk geometry, Kevin Wolf, 2010/07/14
- [Qemu-devel] [STABLE][PATCH 06/14] block/vdi: Fix image opening and creation for odd disk sizes, Kevin Wolf, 2010/07/14
- [Qemu-devel] [STABLE][PATCH 07/14] qcow2: Restore L1 entry on l2_allocate failure, Kevin Wolf, 2010/07/14
- [Qemu-devel] [STABLE][PATCH 09/14] qcow: Use bdrv_(p)write_sync for metadata writes, Kevin Wolf, 2010/07/14
- [Qemu-devel] [STABLE][PATCH 08/14] block: Add bdrv_(p)write_sync, Kevin Wolf, 2010/07/14
- [Qemu-devel] [STABLE][PATCH 11/14] vmdk: Use bdrv_(p)write_sync for metadata writes,
Kevin Wolf <=
- [Qemu-devel] [STABLE][PATCH 10/14] qcow2: Use bdrv_(p)write_sync for metadata writes, Kevin Wolf, 2010/07/14
- [Qemu-devel] [STABLE][PATCH 13/14] block: Fix early failure in multiwrite, Kevin Wolf, 2010/07/14
- [Qemu-devel] [STABLE][PATCH 14/14] block: Handle multiwrite errors only when all requests have completed, Kevin Wolf, 2010/07/14
- [Qemu-devel] [STABLE][PATCH 12/14] vpc: Use bdrv_(p)write_sync for metadata writes, Kevin Wolf, 2010/07/14
- Re: [Qemu-devel] [STABLE][PULL 00/14] Block patches for 0.12.5, Aurelien Jarno, 2010/07/14