GNU bug report logs - #54126
29.0.50; C-x x g doesn't always correctly revert SSHFS files

Previous Next

Package: emacs;

Reported by: Philipp Stephani <p.stephani2 <at> gmail.com>

Date: Wed, 23 Feb 2022 13:45:02 UTC

Severity: normal

Found in version 29.0.50

Fixed in version 25.2

Done: Michael Albinus <michael.albinus <at> gmx.de>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 54126 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Philipp Stephani <p.stephani2 <at> gmail.com>
Cc: 54126 <at> debbugs.gnu.org
Subject: Re: bug#54126: 29.0.50; C-x x g doesn't always correctly revert
 SSHFS files
Date: Wed, 23 Feb 2022 16:14:33 +0100
Philipp Stephani <p.stephani2 <at> gmail.com> writes:

Hi Philipp,

> At least on my system the following happens often, but not always:
>
> Create some file whose contents don't really matter.  In my case:
>
> $ cat /tmp/a.c
> int main(void) {
>   return 0;
> }
>
> Visit the file over SSHFS:
>
> $ emacs -Q /sshfs:localhost:/tmp/a.c
>
> Now, outside of Emacs, append something to the file:
>
> $ echo aaaaa >> /tmp/a.c
>
> Immediately after that, back in Emacs, hit C-x x g.  The new content
> isn't there.  Only after reverting the buffer a second time it appears.
> First I thought this was a timing/cache coherency issue, but even
> waiting for 10 seconds doesn't fix it in most cases.  Somewhat
> surprisingly, switching to a different buffer in between appears to make
> the problem go away (in some cases at least).

Looks like you are plagued by caching. revert-buffer reverts a file
only, if it is modified on disk. Tramps caches file attributes by
default for 10 seconds (see remote-file-name-inhibit-cache). Set this
value to t in order to test, whether it makes a difference. However, you
have said you did wait for 10 seconds, so maybe this isn't the reason.

Another cache might come from sshfs itself. Tramp calls sshfs like
"sshfs localhost:/ /tmp/tramp.sshfs.localhost -C -o idmap=user,reconnect".
See tramp-mount-args settings in tramp-sshfs.el, line 33-34. You might
try to add other options, like "-o no_readahead" or "-o sync_readdir",
see sshfs(1). Don't forget to unmount the sshfs mount point, before you
start a new Emacs session with changed options.

Best regards, Michael.




This bug report was last modified 3 years and 68 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.