Skip to content
  • Hidetoshi Seto's avatar
    virtio-9p: fix build on !CONFIG_UTIMENSAT · 38671423
    Hidetoshi Seto authored
    
    
    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: default avatarChris Wright <chrisw@sous-sol.org>
    Acked-by: default avatarM. Mohan Kumar <mohan@in.ibm.com>
    Acked-by: default avatarJes Sorensen <Jes.Sorensen@redhat.com>
    Signed-off-by: default avatarHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
    Signed-off-by: default avatarVenkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
    38671423