[PATCH 6/9] kvm tools, qcow: Don't fdatasync() L2 table writeout

Pekka Enberg
2011-07-09T13:03:01Z

There's now now point in making sure new L2 tables actually hit the disk before
we write out data to clusters because they are not visible on-disk until
qcow_disk_flush() is called which flushes the L1 table.

Cc: Asias He <asias.hejun@gmail.com>
Cc: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Prasad Joshi <prasadjoshi124@gmail.com>
Cc: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
---
tools/kvm/disk/qcow.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/kvm/disk/qcow.c b/tools/kvm/disk/qcow.c
index 0fef92f..35408ab 100644
--- a/tools/kvm/disk/qcow.c
+++ b/tools/kvm/disk/qcow.c
@@ -345,7 +345,7 @@ static u64 qcow_write_l2_table(struct qcow *q, u64 *table)
clust_sz = 1 << header->cluster_bits;
off = ALIGN(f_sz, clust_sz);

- if (qcow_pwrite_sync(q->fd, table, sz * sizeof(u64), off) < 0)
+ if (pwrite_in_full(q->fd, table, sz * sizeof(u64), off) < 0)
return 0;

return off;
--
1.7.0.4