Subject: bug#66381: closed (Re: bug#66381: 29.1; Auto-revert not polling files when notifications are enabled)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 16 Oct 2023 14:31:02 +0000

Your bug report

#66381: 29.1; Auto-revert not polling files when notifications are enabled

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
66381: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66381
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#66381: 29.1; Auto-revert not polling files when notifications are enabled
From: Michael Albinus <[email-masked]>
To: Eli Zaretskii <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Mon, 16 Oct 2023 16:29:51 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 30.1

Eli Zaretskii <[email-masked]> writes:

Hi Eli,

> On Windows, I cannot safely unmount the volume: Windows tells me that
> it cannot be safely unmounted (because watching a filer on it has a
> handle open on the volume).  If I unmount the volume forcibly, I see
> what you expected me to see: nothing.
>
> I guess this means the "cannot safely unmount" message will have to do
> on MS-Windows.

Yes, might be OK. For inotify I have a similar issue with NFS
mounts. That's why I've used an FUSE mount in my example.

Nothing left to do, so I'm closing the bug.

Best regards, Michael.

Subject: 29.1; Auto-revert not polling files when notifications are enabled
From: Daniel Jacobowitz <[email-masked]>
To: [email-masked]
Date: Fri, 6 Oct 2023 13:13:40 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

I use a network filesystem which sometimes has to restart, e.g.  for
updates or when credentials expire. Normally, file notifications work
fine on this filesystem, but after a restart the old notifications will
never fire. Documentation says "By default, Auto Revert mode will poll
files for changes periodically even when file notifications are used." -
experimentally the file is never polled.

Ideally the notification would be recreated, but falling back to
polling would be
an improvement.

Reproduce from emacs -Q:

(global-auto-revert-mode t)
Open a file on the filesystem where notifications break
Append to the file externally -> emacs notices immediately
Restart the daemon, breaking notifications
Append to the file externally -> emacs never notices

This has been broken for a while. From auto-revert-handler:

         (revert
          (if buffer-file-name
              (and (or auto-revert-remote-files
                       (not (file-remote-p buffer-file-name)))
                   (or (not auto-revert-notify-watch-descriptor)
                       auto-revert-notify-modified-p)
                 ... eventually poll

Prior to bug#20943, there was a call to buffer-modified-p at the top
level that checked unconditionally whether the file had been modified.

Build:

In GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37,
 cairo version 1.16.0) of 2023-09-03, modified by Debian built on
 kokoro-ubuntu
System Description: Debian GNU/Linux rodete

There's a bunch of local bits in our Emacs build, but I'm ~mostly sure
they are unrelated
to this bug.

-- 
Thanks,
Daniel