On Wed, Mar 29, 2023 at 10:54 PM Frank Ch. Eigler wrote: > Hi - > > > The cache cleaning logic requires atime to be correct (strictatime) but > > most users on Linux only have relatime or even noatime. > > This is not really correct: relatime is the kernel default and works > fine with the cache. atime values updated once a day are still plenty > for caches with a multi-day preservation default. > Ah, I didn't know about the one-day threshold. So that means only noatime is actually affected. > > > Attempt to update the atime manually so that the cache works properly. > > Has this been observed to work on noatime-mounted filesystems? It's > at worst harmless so we could merge it, but it's kind of weird. Do > you know such precedents in other software that consumes atime? > Yes, I have a noatime-mounted btrfs (because with snapshots, relatime can cause entire directory trees to get copied-on-write) and with this patch series the cache seems to work properly. Without it it is pretty broken, immediately evicting files that were just downloaded. The only software I know of that uses atime is mutt, although I have never used it myself. Looking through the source of mutt and neomutt on GitHub shows that they use the same approach: https://github.com/muttmua/mutt/blob/1066be975f284ce6fdbb00a4e41b1738d52887d0/muttlib.c#L2204-L2212 (mutt muttlib.c:2204) https://github.com/neomutt/neomutt/blob/d13dd3bb912d93f73dd4dd2d476e1c37d31a8422/mutt/file.c#L1062-L1075 (neomutt mutt/file.c:1062)