summaryrefslogtreecommitdiffstats
path: root/lib/libc_r
diff options
context:
space:
mode:
authorkensmith <kensmith@FreeBSD.org>2005-05-31 19:39:52 +0000
committerkensmith <kensmith@FreeBSD.org>2005-05-31 19:39:52 +0000
commit3a7e275ce6fe687fad8627e57c54b3ffad200404 (patch)
treed75a1cb9a18bd7b666b9455b0fd7694b03243d9b /lib/libc_r
parent89936cfe1297f8030a9804f08595408441727c36 (diff)
downloadFreeBSD-src-3a7e275ce6fe687fad8627e57c54b3ffad200404.zip
FreeBSD-src-3a7e275ce6fe687fad8627e57c54b3ffad200404.tar.gz
This patch addresses a standards violation issue. The standards say a
file's access time should be updated when it gets executed. A while ago the mechanism used to exec was changed to use a more mmap based mechanism and this behavior was broken as a side-effect of that. A new vnode flag is added that gets set when the file gets executed, and the VOP_SETATTR() vnode operation gets called. The underlying filesystem is expected to handle it based on its own semantics, some filesystems don't support access time at all. Those that do should handle it in a way that does not block, does not generate I/O if possible, etc. In particular vn_start_write() has not been called. The UFS code handles it the same way as it would normally handle the access time if a file was read - the IN_ACCESS flag gets set in the inode but no other action happens at this point. The actual time update will happen later during a sync (which handles all the necessary locking). Got me into this: cperciva Discussed with: a lot with bde, a little with kan Showed patches to: phk, jeffr, standards@, arch@ Minor discussion on: arch@
Diffstat (limited to 'lib/libc_r')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud