summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2014-10-18 15:31:53 +0000
committerkib <kib@FreeBSD.org>2014-10-18 15:31:53 +0000
commitfafa0f4166720cf554ecdd8fe30ab25b5c471580 (patch)
tree80a649509aed0c6358a82e4645d29e92d6159305
parent08803fec5e8ea299d92a78946ba8412d60b4c177 (diff)
downloadFreeBSD-src-fafa0f4166720cf554ecdd8fe30ab25b5c471580.zip
FreeBSD-src-fafa0f4166720cf554ecdd8fe30ab25b5c471580.tar.gz
MFC r272952:
Do not set IN_ACCESS flag for read-only mounts.
-rw-r--r--sys/fs/ext2fs/ext2_vnops.c2
-rw-r--r--sys/fs/msdosfs/msdosfs_vnops.c2
-rw-r--r--sys/ufs/ffs/ffs_vnops.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/sys/fs/ext2fs/ext2_vnops.c b/sys/fs/ext2fs/ext2_vnops.c
index e68bc64..b25e385 100644
--- a/sys/fs/ext2fs/ext2_vnops.c
+++ b/sys/fs/ext2fs/ext2_vnops.c
@@ -1763,7 +1763,7 @@ ext2_ind_read(struct vop_read_args *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;
return (error);
}
diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c
index 622917f..a60fa13 100644
--- a/sys/fs/msdosfs/msdosfs_vnops.c
+++ b/sys/fs/msdosfs/msdosfs_vnops.c
@@ -642,7 +642,7 @@ msdosfs_read(ap)
brelse(bp);
} while (error == 0 && uio->uio_resid > 0 && n != 0);
if (!isadir && (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)
dep->de_flag |= DE_ACCESS;
return (error);
}
diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c
index 423d811..fc7d4f2 100644
--- a/sys/ufs/ffs/ffs_vnops.c
+++ b/sys/ufs/ffs/ffs_vnops.c
@@ -628,7 +628,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;
OpenPOWER on IntegriCloud