On 2026-08-20 12:29:57 +0200, Oswald Buddenhagen via Mutt-dev wrote: > On Thu, Aug 20, 2026 at 10:54:23AM +0800, Kevin J. McCarthy wrote: > > Recent Linux kernels have an issue where time() has a lower > > granularity than the stat st_mtime of a file. > > > the granularity is one second. st_mtime is a subset of st_mtim which has a > higher granularity, but that's been the case for decades, at least on fs > that actually support it.
st_mtim has been more precise for years, but it was not accurate. Its accuracy has been improved (to match CLOCK_REALTIME?) in https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4e40eff0b5737c (starting with the 6.13 kernel), which is the cause of this issue. > > This can result in time() being earlier than the mtime of a file > > just modified. > > > it can't, as long as only the full seconds are compared. It can (even if you take the nanoseconds of st_mtim into account as they are non-negative[*]), as shown by the tests. [*] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1144613#32 -- Vincent Lefèvre <[email protected]> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)
