* lib/renameat2.c (renameat2) [SYS_renameat2]:
Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00082.html
---
 ChangeLog       | 7 +++++++
 lib/renameat2.c | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 07d6d99..82d7211 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-08-03  Paul Eggert  <[email protected]>
+
+       renameat2: port to RHEL 7 + NFS
+       * lib/renameat2.c (renameat2) [SYS_renameat2]:
+       Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
+       http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00082.html
+
 2017-08-02  Paul Eggert  <[email protected]>
 
        renameat2: port to non-renameat platforms
diff --git a/lib/renameat2.c b/lib/renameat2.c
index 9369dbf..fd38a71 100644
--- a/lib/renameat2.c
+++ b/lib/renameat2.c
@@ -76,7 +76,7 @@ renameat2 (int fd1, char const *src, int fd2, char const *dst,
 {
 #ifdef SYS_renameat2
   int r = syscall (SYS_renameat2, fd1, src, fd2, dst, flags);
-  if (! (r < 0 && errno == ENOSYS))
+  if (! (r < 0 && (errno == ENOSYS || errno == EINVAL)))
     return r;
 #endif
 
-- 
2.7.4


Reply via email to