qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kurz <groug@kaod.org>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Stefan Hajnoczi <stefanha@redhat.com>, Greg Kurz <groug@kaod.org>
Subject: [Qemu-devel] [PULL 07/11] util: drop old utimensat() compat code
Date: Mon, 29 May 2017 11:05:36 +0200	[thread overview]
Message-ID: <1496048740-26578-8-git-send-email-groug@kaod.org> (raw)
In-Reply-To: <1496048740-26578-1-git-send-email-groug@kaod.org>

Now that 9pfs and virtfs-proxy-helper have been converted to utimensat(),
we don't need to keep qemu_utimens() anymore.

Signed-off-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Eric Blake <eblake@redhat.com>
---
 configure                 | 22 ----------------------
 include/sysemu/os-posix.h | 11 -----------
 util/oslib-posix.c        | 47 -----------------------------------------------
 3 files changed, 80 deletions(-)

diff --git a/configure b/configure
index 1a5ee4b909b8..0586ec9c64de 100755
--- a/configure
+++ b/configure
@@ -3629,25 +3629,6 @@ if compile_prog "" "" ; then
   inotify1=yes
 fi
 
-# check if utimensat and futimens are supported
-utimens=no
-cat > $TMPC << EOF
-#define _ATFILE_SOURCE
-#include <stddef.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-int main(void)
-{
-    utimensat(AT_FDCWD, "foo", NULL, 0);
-    futimens(0, NULL);
-    return 0;
-}
-EOF
-if compile_prog "" "" ; then
-  utimens=yes
-fi
-
 # check if pipe2 is there
 pipe2=no
 cat > $TMPC << EOF
@@ -5434,9 +5415,6 @@ fi
 if test "$curses" = "yes" ; then
   echo "CONFIG_CURSES=y" >> $config_host_mak
 fi
-if test "$utimens" = "yes" ; then
-  echo "CONFIG_UTIMENSAT=y" >> $config_host_mak
-fi
 if test "$pipe2" = "yes" ; then
   echo "CONFIG_PIPE2=y" >> $config_host_mak
 fi
diff --git a/include/sysemu/os-posix.h b/include/sysemu/os-posix.h
index 900bdcb45ad0..629c8c648b7a 100644
--- a/include/sysemu/os-posix.h
+++ b/include/sysemu/os-posix.h
@@ -51,17 +51,6 @@ int os_mlock(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_utimens(const char *path, const qemu_timespec *times);
-
 bool is_daemonized(void);
 
 /**
diff --git a/util/oslib-posix.c b/util/oslib-posix.c
index 4d9189e9efcf..7e28c161b257 100644
--- a/util/oslib-posix.c
+++ b/util/oslib-posix.c
@@ -207,53 +207,6 @@ int qemu_pipe(int pipefd[2])
     return ret;
 }
 
-int qemu_utimens(const char *path, const struct timespec *times)
-{
-    struct timeval tv[2], tv_now;
-    struct stat st;
-    int i;
-#ifdef CONFIG_UTIMENSAT
-    int ret;
-
-    ret = utimensat(AT_FDCWD, path, times, AT_SYMLINK_NOFOLLOW);
-    if (ret != -1 || errno != ENOSYS) {
-        return ret;
-    }
-#endif
-    /* Fallback: use utimes() instead of utimensat() */
-
-    /* happy if special cases */
-    if (times[0].tv_nsec == UTIME_OMIT && times[1].tv_nsec == UTIME_OMIT) {
-        return 0;
-    }
-    if (times[0].tv_nsec == UTIME_NOW && times[1].tv_nsec == UTIME_NOW) {
-        return utimes(path, NULL);
-    }
-
-    /* prepare for hard cases */
-    if (times[0].tv_nsec == UTIME_NOW || times[1].tv_nsec == UTIME_NOW) {
-        gettimeofday(&tv_now, NULL);
-    }
-    if (times[0].tv_nsec == UTIME_OMIT || times[1].tv_nsec == UTIME_OMIT) {
-        stat(path, &st);
-    }
-
-    for (i = 0; i < 2; i++) {
-        if (times[i].tv_nsec == UTIME_NOW) {
-            tv[i].tv_sec = tv_now.tv_sec;
-            tv[i].tv_usec = tv_now.tv_usec;
-        } else if (times[i].tv_nsec == UTIME_OMIT) {
-            tv[i].tv_sec = (i == 0) ? st.st_atime : st.st_mtime;
-            tv[i].tv_usec = 0;
-        } else {
-            tv[i].tv_sec = times[i].tv_sec;
-            tv[i].tv_usec = times[i].tv_nsec / 1000;
-        }
-    }
-
-    return utimes(path, &tv[0]);
-}
-
 char *
 qemu_get_local_state_pathname(const char *relative_pathname)
 {
-- 
2.7.4

  parent reply	other threads:[~2017-05-29  9:06 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-29  9:05 [Qemu-devel] [PULL 00/11] 9pfs patches for 2.10 20170525 Greg Kurz
2017-05-29  9:05 ` [Qemu-devel] [PULL 01/11] virtio-9p/xen-9p: move 9p specific bits to core 9p code Greg Kurz
2017-05-29  9:05 ` [Qemu-devel] [PULL 02/11] fsdev: don't allow unknown format in marshal/unmarshal Greg Kurz
2017-05-29  9:05 ` [Qemu-devel] [PULL 03/11] 9pfs: drop pdu_push_and_notify() Greg Kurz
2017-05-29  9:05 ` [Qemu-devel] [PULL 04/11] 9pfs: local: fix unlink of alien files in mapped-file mode Greg Kurz
2017-05-29  9:05 ` [Qemu-devel] [PULL 05/11] fsdev: fix virtfs-proxy-helper cwd Greg Kurz
2017-05-29  9:05 ` [Qemu-devel] [PULL 06/11] 9pfs: assume utimensat() and futimens() are present Greg Kurz
2017-05-29  9:05 ` Greg Kurz [this message]
2017-05-29  9:05 ` [Qemu-devel] [PULL 08/11] 9pfs: check return value of v9fs_co_name_to_path() Greg Kurz
2017-05-29  9:05 ` [Qemu-devel] [PULL 09/11] 9pfs: local: resolve special directories in paths Greg Kurz
2017-05-29  9:05 ` [Qemu-devel] [PULL 10/11] 9pfs: local: simplify file opening Greg Kurz
2017-05-29  9:05 ` [Qemu-devel] [PULL 11/11] 9pfs: local: metadata file for the VirtFS root Greg Kurz
2017-05-29  9:19 ` [Qemu-devel] [PULL 00/11] 9pfs patches for 2.10 20170525 no-reply
2017-05-30  9:42 ` Stefan Hajnoczi
2017-05-30 10:21   ` Greg Kurz
2017-05-30 10:26     ` Daniel P. Berrange
2017-05-30 10:33       ` Greg Kurz
2017-05-30 10:50         ` Fam Zheng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1496048740-26578-8-git-send-email-groug@kaod.org \
    --to=groug@kaod.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).