[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Setting mtime doesn't work after copying a file with mmap
when I copy a file with mmap:
- open both files
- mmap both files
- copy with memcpy
- setting mtime with futimes
- close both files
the time is set correctly and stays correctly for several seconds. But when I do a sync(1) the time is updated to the current time! Also when I first close the files and then use utimensat or utime the time is set correctly but changes again after a sync(1). If I don't use sync(1) the time is updated automatically within a minute.
When I copy the files with read(2)/write(2) instead of mmap this bug does *not* occur. Also when I mount the NetBSD file system to Linux via fuse/sshfs and then use mmap on Linux it works correctly.
I think the a mmap-mapping is written back with some delay and this delayed write back updates mtime.
Main Index |
Thread Index |