From 3fddd0f4eb0eb9b47294f951195233e1c5f12e72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Mon, 7 Mar 2022 14:32:03 +0000 Subject: [PATCH] stat: only automount with --cached=never Revert to the default behavior before the introduction of statx(). * src/stat.c (do_stat): Set AT_NO_AUTOMOUNT without --cached=never. * doc/coreutils.texi (stat invocation): Mention the automount behavior with --cached=never. * NEWS: Mention the fix. Fixes https://bugs.gnu.org/54287 --- NEWS | 5 +++-- doc/coreutils.texi | 1 + src/stat.c | 3 +++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 12051cd15..8e95be755 100644 --- a/NEWS +++ b/NEWS @@ -34,8 +34,9 @@ GNU coreutils NEWS -*- outline -*- and the documentation has been clarified for unusual cases. [bug introduced in coreutils-7.0] - ls no longer tries to automount files, reverting to the behavior - before the statx() call was introduced. + ls and stat no longer try to automount files, reverting to the behavior + before the statx() call was introduced. Only `stat --cached=never` + will continue to automount files. [bug introduced in coreutils-8.32] On macOS, 'mv A B' no longer fails with "Operation not supported" diff --git a/doc/coreutils.texi b/doc/coreutils.texi index e9be0993a..05dc5ee21 100644 --- a/doc/coreutils.texi +++ b/doc/coreutils.texi @@ -12608,6 +12608,7 @@ Always read the already cached attributes if available. @item never Always sychronize with the latest file system attributes. +This also mounts automounted files. @item default Leave the caching behavior to the underlying file system. diff --git a/src/stat.c b/src/stat.c index edafd0285..3765a8f65 100644 --- a/src/stat.c +++ b/src/stat.c @@ -1394,6 +1394,9 @@ do_stat (char const *filename, char const *format, char const *format2) else if (force_sync) flags |= AT_STATX_FORCE_SYNC; + if (! force_sync) + flags |= AT_NO_AUTOMOUNT; + fd = statx (fd, pathname, flags, format_to_mask (format), &stx); if (fd < 0) { -- 2.26.2