mirror of https://github.com/xemu-project/xemu.git
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);
|
const char *qemu_strchrnul(const char *s, int c);
|
||||||
#endif
|
#endif
|
||||||
time_t mktimegm(struct tm *tm);
|
time_t mktimegm(struct tm *tm);
|
||||||
int qemu_fdatasync(int fd);
|
|
||||||
int qemu_parse_fd(const char *param);
|
int qemu_parse_fd(const char *param);
|
||||||
int qemu_strtoi(const char *nptr, const char **endptr, int base,
|
int qemu_strtoi(const char *nptr, const char **endptr, int base,
|
||||||
int *result);
|
int *result);
|
||||||
|
|
|
@ -641,6 +641,8 @@ static inline void qemu_reset_optind(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int qemu_fdatasync(int fd);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sync changes made to the memory mapped file back to the backing
|
* Sync changes made to the memory mapped file back to the backing
|
||||||
* storage. For POSIX compliant systems this will fallback
|
* storage. For POSIX compliant systems this will fallback
|
||||||
|
|
|
@ -144,22 +144,6 @@ time_t mktimegm(struct tm *tm)
|
||||||
return t;
|
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)
|
static int64_t suffix_mul(char suffix, int64_t unit)
|
||||||
{
|
{
|
||||||
switch (qemu_toupper(suffix)) {
|
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);
|
return readv_writev(fd, iov, iov_cnt, true);
|
||||||
}
|
}
|
||||||
#endif
|
#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