From: Pádraig Brady Date: Tue, 2 Apr 2024 12:21:41 +0000 (+0100) Subject: renameatu: handle ENOSYS from renameatx_np X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=b611570f119e878dbddb1236b4f0fa404e5d37d2;p=gnulib.git renameatu: handle ENOSYS from renameatx_np * lib/renameatu.c(): Fall back to renameat() when renameatx_np(RENAME_EXCL) returns "Function not implemented". This issue was seen with macFUSE. Reported at https://github.com/coreutils/coreutils/issues/79 --- diff --git a/ChangeLog b/ChangeLog index ec1873c694..0a198b207f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2024-04-02 Pádraig Brady + + renameatu: handle ENOSYS from renameatx_np + * lib/renameatu.c(): Fall back to renameat() without RENAME_EXCL + if "Function not implemented" is returned. This was seen with macFUSE. + Reported at https://github.com/coreutils/coreutils/issues/79 + 2024-03-31 Bruno Haible canonicalize[-lgpl] tests: Fix test failure on musl libc. diff --git a/lib/renameatu.c b/lib/renameatu.c index 174081c16b..c9c84f27b8 100644 --- a/lib/renameatu.c +++ b/lib/renameatu.c @@ -74,7 +74,7 @@ renameat2ish (int fd1, char const *src, int fd2, char const *dst, if (flags) { int r = renameatx_np (fd1, src, fd2, dst, RENAME_EXCL); - if (r == 0 || errno != ENOTSUP) + if (r == 0 || (errno != ENOTSUP && errno != ENOSYS)) return r; } # endif