diff options
author | Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> | 2010-11-24 11:38:10 +0900 |
---|---|---|
committer | Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com> | 2010-12-02 16:08:40 -0800 |
commit | 38671423466875ecd848710cc1d7019448a6b145 (patch) | |
tree | 0f76c0f0ef78c7d4bcf71f8e7ca92204dcb31963 /qemu-os-posix.h | |
parent | 0562c67432991d1cee442615d70fd39e638bec71 (diff) |
virtio-9p: fix build on !CONFIG_UTIMENSAT
This patch introduce a fallback mechanism for old systems that do not
support utimensat(). This fix build failure with following warnings:
hw/virtio-9p-local.c: In function 'local_utimensat':
hw/virtio-9p-local.c:479: warning: implicit declaration of function 'utimensat'
hw/virtio-9p-local.c:479: warning: nested extern declaration of 'utimensat'
and:
hw/virtio-9p.c: In function 'v9fs_setattr_post_chmod':
hw/virtio-9p.c:1410: error: 'UTIME_NOW' undeclared (first use in this function)
hw/virtio-9p.c:1410: error: (Each undeclared identifier is reported only once
hw/virtio-9p.c:1410: error: for each function it appears in.)
hw/virtio-9p.c:1413: error: 'UTIME_OMIT' undeclared (first use in this function)
hw/virtio-9p.c: In function 'v9fs_wstat_post_chmod':
hw/virtio-9p.c:2905: error: 'UTIME_OMIT' undeclared (first use in this function)
[NOTE: At this time virtio-9p is only user of utimensat(), and is available
only when host is linux and CONFIG_VIRTFS is defined. So there are
no similar warning for win32. Please provide a wrapper for win32 in
oslib-win32.c if new user really requires it.]
v5:
- Allow fallback on runtime
- Move qemu_utimensat() to oslib-posix.c
- Rebased on latest qemu.git
v4:
- Use tv_now.tv_usec
v3:
- Use better alternative handling for UTIME_NOW/OMIT
- Move qemu_utimensat() to cutils.c
V2:
- Introduce qemu_utimensat()
Acked-by: Chris Wright <chrisw@sous-sol.org>
Acked-by: M. Mohan Kumar <mohan@in.ibm.com>
Acked-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
Diffstat (limited to 'qemu-os-posix.h')
-rw-r--r-- | qemu-os-posix.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/qemu-os-posix.h b/qemu-os-posix.h index 353f87813f..81fd9ab389 100644 --- a/qemu-os-posix.h +++ b/qemu-os-posix.h @@ -39,4 +39,16 @@ void os_setup_post(void); typedef struct timeval qemu_timeval; #define qemu_gettimeofday(tp) gettimeofday(tp, NULL) +#ifndef CONFIG_UTIMENSAT +#ifndef UTIME_NOW +# define UTIME_NOW ((1l << 30) - 1l) +#endif +#ifndef UTIME_OMIT +# define UTIME_OMIT ((1l << 30) - 2l) +#endif +#endif +typedef struct timespec qemu_timespec; +int qemu_utimensat(int dirfd, const char *path, const qemu_timespec *times, + int flags); + #endif |