diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2022-04-20 17:26:04 +0400 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@redhat.com> | 2022-04-21 17:03:51 +0400 |
commit | 282468c7c4c84ce497e51d046f545badc320c154 (patch) | |
tree | 98e486e5c5ee8d30261554017789e750b3365f52 /util/osdep.c | |
parent | 73991a922217a499ffb19fa254b1fda8bfac42c4 (diff) |
include: move qemu_fdatasync() to osdep
Move QEMU-specific code to util/osdep.c, so cutils can become a common
subproject.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20220420132624.2439741-22-marcandre.lureau@redhat.com>
Diffstat (limited to 'util/osdep.c')
-rw-r--r-- | util/osdep.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/util/osdep.c b/util/osdep.c index 1ea2398686..c7aec36f22 100644 --- a/util/osdep.c +++ b/util/osdep.c @@ -607,3 +607,19 @@ writev(int fd, const struct iovec *iov, int iov_cnt) return readv_writev(fd, iov, iov_cnt, true); } #endif + +/* + * 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 +} |