[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-2.2 2/3] block/raw-posix: Only sync after succes
From: |
Max Reitz |
Subject: |
[Qemu-devel] [PATCH for-2.2 2/3] block/raw-posix: Only sync after successful preallocation |
Date: |
Tue, 18 Nov 2014 11:23:05 +0100 |
The loop which filled the file with zeroes may have been left early due
to an error. In that case, the fsync() should be skipped.
Signed-off-by: Max Reitz <address@hidden>
---
block/raw-posix.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/block/raw-posix.c b/block/raw-posix.c
index 4e6552f..f67fb11 100644
--- a/block/raw-posix.c
+++ b/block/raw-posix.c
@@ -1459,7 +1459,9 @@ static int raw_create(const char *filename, QemuOpts
*opts, Error **errp)
}
left -= result;
}
- fsync(fd);
+ if (result >= 0) {
+ fsync(fd);
+ }
g_free(buf);
break;
}
--
1.9.3