(In reply to Michal Hocko from comment #1) > I am not a filesystem expert nor familiar with perl but it might be possible > that the mtime was not synced yet because perl didn't flush (msync) the file > yet and system does that automatically only after certain (configurable) > time. Hmm, but that shouldn't matter because the stat should be checking the inode via dentry/inode cache so it doesn't care what is on the disk. Maybe perl does some internal caching without calling the kernel. What is the strace output of your test?