On Sat, 11 Oct 2014, Konstantin Belousov wrote:

Log:
 Do not set IN_ACCESS flag for read-only mounts.  The IN_ACCESS
 survives remount in rw, also it is set for vnodes on rootfs before
 noatime can be set or clock is adjusted.  All conditions result in
 wrong atime for accessed vnodes.

 Submitted by:  bde
 MFC after:     1 week

Thanks.

...
Modified: head/sys/ufs/ffs/ffs_vnops.c
==============================================================================
--- head/sys/ufs/ffs/ffs_vnops.c        Sat Oct 11 18:58:58 2014        
(r272951)
+++ head/sys/ufs/ffs/ffs_vnops.c        Sat Oct 11 19:09:56 2014        
(r272952)
@@ -627,7 +627,7 @@ ffs_read(ap)
        }

        if ((error == 0 || uio->uio_resid != orig_resid) &&
-           (vp->v_mount->mnt_flag & MNT_NOATIME) == 0 &&
+           (vp->v_mount->mnt_flag & (MNT_NOATIME | MNT_RDONLY)) == 0 &&
            (ip->i_flag & IN_ACCESS) == 0) {
                VI_LOCK(vp);
                ip->i_flag |= IN_ACCESS;


Is it correct for only ffs to acquire the vnode interlock?  I think it
is, but don't remember which ffs-only feature requires it.

Bruce
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to