cvs commit: src/sys/kern kern_exec.c src/sys/sys vnode.h src/sys/ufs/ufs ufs_vnops.c

Ken Smith kensmith at FreeBSD.org
Tue May 31 12:39:53 PDT 2005


kensmith    2005-05-31 19:39:52 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             kern_exec.c 
    sys/sys              vnode.h 
    sys/ufs/ufs          ufs_vnops.c 
  Log:
  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@
  
  Revision  Changes    Path
  1.272     +13 -1     src/sys/kern/kern_exec.c
  1.300     +1 -0      src/sys/sys/vnode.h
  1.270     +11 -0     src/sys/ufs/ufs/ufs_vnops.c


More information about the cvs-all mailing list