Subject: Re: bug#13149: 24.3.50; Emacs thinks file was changed outside Emacs, but it was not

From: Dmitry Gutov <[email-masked]>
Date: Fri, 18 Jan 2013 08:36:32 +0400

On 18.01.2013 1:33, Paul Eggert wrote:
> On 01/17/13 02:32, Dmitry Gutov wrote:
>> dired.c:958: stat_mtime=1358412092.606214085
>> modify again
>> fileio.c:5414: stat_mtime=1358412092.606214000
>
> The first time stamp comes from lstat, the second
> from stat.  If the file is actually on an NTFS file
> system from the underlying host, the first time stamp
> cannot possibly be right, since these file systems
> have a time stamp resolution of 100 nanoseconds.
> The second time stamp would be the correct one.

It is on NTFS, but we're separated from it by at least CIFS server and 
client implementations.

> So it does seem to be a file system bug.  Is this something
> that you can reproduce with a little C program, that
> creates a file, and invoke lstat and stat on it?
> What happens when you run the following program
> in your file system?  It should output time stamps
> that are identical.  You may need to substitute
> something else (like sleep (10)) for "sync ()"
> to trigger the bug.

The time stamps were identical in all combinations:

1) Local VM filesystem (ext4).
2) vboxsf.
3) cifs.

a) sync ();
b) sleep (10);
c) sleep (0.1);

Maybe the bug is only triggered when we're editing an existing file?