From fd3b1a0e32964436a5259e073857e0c4e2110122 Mon Sep 17 00:00:00 2001 From: David 'Digit' Turner Date: Mon, 10 May 2010 23:47:54 -0700 Subject: Upstream: add qemu_fdatasync() Change-Id: I232b9c4df372e1fded97694fffcd72ef9ea113c4 --- cutils.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'cutils.c') diff --git a/cutils.c b/cutils.c index ffe5c71..2365e68 100644 --- a/cutils.c +++ b/cutils.c @@ -115,6 +115,22 @@ int qemu_fls(int i) return 32 - clz32(i); } +/* + * Make sure data goes on disk, but if possible do not bother to + * write out the inode just for timestamp updates. + * + * Unfortunately even in 2009 many operating systems do not support + * fdatasync and have to fall back to fsync. + */ +int qemu_fdatasync(int fd) +{ +#ifdef CONFIG_FDATASYNC + return fdatasync(fd); +#else + return fsync(fd); +#endif +} + /* io vectors */ void qemu_iovec_init(QEMUIOVector *qiov, int alloc_hint) -- cgit v1.1