git: kernel - Try to fix delayed mtime updates on SHARED+RW maps again

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Feb 13 23:07:42 PST 2018


commit fa4a12c408e7819a51670d15087aadbf10659890
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Tue Feb 13 23:02:18 2018 -0800

    kernel - Try to fix delayed mtime updates on SHARED+RW maps again
    
    * Attempt to fix continuing problems with mtime updates related to
      modifications made via SHARED+RW mmap()s.  As evidenced by builds
      under synth sometimes getting confused.
    
    * Don't update vp->v_lastwrite_ts in vop_stdclose().  Instead, update
      the field and set a new flag VLASTWRITETS upon mmap(SHARED+PROT_WRITE)
      or upon mprotect(PROT_WRITE) on a SHARED mmap.
    
    * Clear the flag on any regular write, utimes, or truncation.
    
    * Adjust various filesystems to update mtime from vp->v_lastwrite_ts
      only upon UIO_NOCOPY writes, and only if VLASTWRITETS is set.
    
      tmpfs, ufs, hammer, hammer2 adjusted.

Summary of changes:
 sys/kern/vfs_default.c          |  1 -
 sys/sys/vnode.h                 | 12 ++++--------
 sys/vfs/hammer/hammer_vnops.c   | 16 ++++++++++++----
 sys/vfs/hammer2/hammer2_vnops.c | 18 ++++++++++++------
 sys/vfs/tmpfs/tmpfs.h           | 12 ++++++------
 sys/vfs/tmpfs/tmpfs_subr.c      | 10 +++++++---
 sys/vfs/tmpfs/tmpfs_vnops.c     | 11 +++++++----
 sys/vfs/ufs/inode.h             |  2 +-
 sys/vfs/ufs/ufs_readwrite.c     |  8 ++++++--
 sys/vfs/ufs/ufs_vnops.c         | 16 ++++++++++------
 sys/vm/vm_map.c                 | 20 ++++++++++++++++++++
 sys/vm/vm_mmap.c                | 13 +++++++++++++
 12 files changed, 98 insertions(+), 41 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fa4a12c408e7819a51670d15087aadbf10659890


-- 
DragonFly BSD source repository



More information about the Commits mailing list