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>
This commit is contained in:
parent
73991a9222
commit
282468c7c4
@ -129,7 +129,6 @@ static inline const char *qemu_strchrnul(const char *s, int c)
|
||||
const char *qemu_strchrnul(const char *s, int c);
|
||||
#endif
|
||||
time_t mktimegm(struct tm *tm);
|
||||
int qemu_fdatasync(int fd);
|
||||
int qemu_parse_fd(const char *param);
|
||||
int qemu_strtoi(const char *nptr, const char **endptr, int base,
|
||||
int *result);
|
||||
|
@ -641,6 +641,8 @@ static inline void qemu_reset_optind(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
int qemu_fdatasync(int fd);
|
||||
|
||||
/**
|
||||
* Sync changes made to the memory mapped file back to the backing
|
||||
* storage. For POSIX compliant systems this will fallback
|
||||
|
@ -144,22 +144,6 @@ time_t mktimegm(struct tm *tm)
|
||||
return t;
|
||||
}
|
||||
|
||||
/*
|
||||
* 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
|
||||
}
|
||||
|
||||
static int64_t suffix_mul(char suffix, int64_t unit)
|
||||
{
|
||||
switch (qemu_toupper(suffix)) {
|
||||
|
16
util/osdep.c
16
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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user