Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys Obey MNT_RELATIME, the only addition is that mkdir in uf...
details: https://anonhg.NetBSD.org/src/rev/22eb9ac241be
branches: trunk
changeset: 771306:22eb9ac241be
user: christos <christos%NetBSD.org@localhost>
date: Fri Nov 18 21:18:50 2011 +0000
description:
Obey MNT_RELATIME, the only addition is that mkdir in ufs sets IN_ACCESS too.
diffstat:
sys/fs/nilfs/nilfs_vnops.c | 6 ++++--
sys/fs/ptyfs/ptyfs_vnops.c | 9 ++++++---
sys/fs/puffs/puffs_vnops.c | 6 ++++--
sys/fs/tmpfs/tmpfs_vnops.c | 9 ++++++---
sys/fs/udf/udf_vnops.c | 17 ++++++++++++++---
sys/ufs/ext2fs/ext2fs_readwrite.c | 6 ++++--
sys/ufs/ext2fs/ext2fs_vnops.c | 11 ++++++++---
sys/ufs/ufs/ufs_readwrite.c | 6 ++++--
sys/ufs/ufs/ufs_vnops.c | 13 +++++++++----
9 files changed, 59 insertions(+), 24 deletions(-)
diffs (truncated from 326 to 300 lines):
diff -r 68bd1e7e0b62 -r 22eb9ac241be sys/fs/nilfs/nilfs_vnops.c
--- a/sys/fs/nilfs/nilfs_vnops.c Fri Nov 18 21:17:45 2011 +0000
+++ b/sys/fs/nilfs/nilfs_vnops.c Fri Nov 18 21:18:50 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: nilfs_vnops.c,v 1.15 2011/10/16 12:41:45 hannken Exp $ */
+/* $NetBSD: nilfs_vnops.c,v 1.16 2011/11/18 21:18:50 christos Exp $ */
/*
* Copyright (c) 2008, 2009 Reinoud Zandijk
@@ -28,7 +28,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__KERNEL_RCSID(0, "$NetBSD: nilfs_vnops.c,v 1.15 2011/10/16 12:41:45 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nilfs_vnops.c,v 1.16 2011/11/18 21:18:50 christos Exp $");
#endif /* not lint */
@@ -280,6 +280,8 @@
/* mark node changed and request update */
nilfs_node->i_flags |= IN_CHANGE | IN_UPDATE;
+ if (vp->v_mount->mnt_flag & MNT_RELATIME)
+ nilfs_node->i_flags |= IN_ACCESS;
/*
* XXX TODO FFS has code here to reset setuid & setgid when we're not
diff -r 68bd1e7e0b62 -r 22eb9ac241be sys/fs/ptyfs/ptyfs_vnops.c
--- a/sys/fs/ptyfs/ptyfs_vnops.c Fri Nov 18 21:17:45 2011 +0000
+++ b/sys/fs/ptyfs/ptyfs_vnops.c Fri Nov 18 21:18:50 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ptyfs_vnops.c,v 1.36 2011/09/16 18:43:44 christos Exp $ */
+/* $NetBSD: ptyfs_vnops.c,v 1.37 2011/11/18 21:18:50 christos Exp $ */
/*
* Copyright (c) 1993, 1995
@@ -76,7 +76,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ptyfs_vnops.c,v 1.36 2011/09/16 18:43:44 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ptyfs_vnops.c,v 1.37 2011/11/18 21:18:50 christos Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -426,8 +426,11 @@
if (vap->va_atime.tv_sec != VNOVAL)
if (!(vp->v_mount->mnt_flag & MNT_NOATIME))
ptyfs->ptyfs_flag |= PTYFS_ACCESS;
- if (vap->va_mtime.tv_sec != VNOVAL)
+ if (vap->va_mtime.tv_sec != VNOVAL) {
ptyfs->ptyfs_flag |= PTYFS_CHANGE | PTYFS_MODIFY;
+ if (vp->v_mount->mnt_flag & MNT_RELATIME)
+ ptyfs->ptyfs_flag |= PTYFS_ACCESS;
+ }
if (vap->va_birthtime.tv_sec != VNOVAL)
ptyfs->ptyfs_birthtime = vap->va_birthtime;
ptyfs->ptyfs_flag |= PTYFS_CHANGE;
diff -r 68bd1e7e0b62 -r 22eb9ac241be sys/fs/puffs/puffs_vnops.c
--- a/sys/fs/puffs/puffs_vnops.c Fri Nov 18 21:17:45 2011 +0000
+++ b/sys/fs/puffs/puffs_vnops.c Fri Nov 18 21:18:50 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: puffs_vnops.c,v 1.161 2011/10/30 13:24:13 hannken Exp $ */
+/* $NetBSD: puffs_vnops.c,v 1.162 2011/11/18 21:18:50 christos Exp $ */
/*
* Copyright (c) 2005, 2006, 2007 Antti Kantee. All Rights Reserved.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: puffs_vnops.c,v 1.161 2011/10/30 13:24:13 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: puffs_vnops.c,v 1.162 2011/11/18 21:18:50 christos Exp $");
#include <sys/param.h>
#include <sys/buf.h>
@@ -1967,6 +1967,8 @@
origoff = uio->uio_offset;
while (uio->uio_resid > 0) {
+ if (vp->v_mount->mnt_flag & MNT_RELATIME)
+ uflags |= PUFFS_UPDATEATIME;
uflags |= PUFFS_UPDATECTIME;
uflags |= PUFFS_UPDATEMTIME;
oldoff = uio->uio_offset;
diff -r 68bd1e7e0b62 -r 22eb9ac241be sys/fs/tmpfs/tmpfs_vnops.c
--- a/sys/fs/tmpfs/tmpfs_vnops.c Fri Nov 18 21:17:45 2011 +0000
+++ b/sys/fs/tmpfs/tmpfs_vnops.c Fri Nov 18 21:18:50 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: tmpfs_vnops.c,v 1.92 2011/09/27 01:32:21 christos Exp $ */
+/* $NetBSD: tmpfs_vnops.c,v 1.93 2011/11/18 21:18:51 christos Exp $ */
/*
* Copyright (c) 2005, 2006, 2007 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tmpfs_vnops.c,v 1.92 2011/09/27 01:32:21 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tmpfs_vnops.c,v 1.93 2011/11/18 21:18:51 christos Exp $");
#include <sys/param.h>
#include <sys/dirent.h>
@@ -2465,8 +2465,11 @@
if ((vp->v_mount->mnt_flag & MNT_NOATIME) == 0)
node->tn_status |= TMPFS_NODE_ACCESSED;
- if ((access_type & VM_PROT_WRITE) != 0)
+ if ((access_type & VM_PROT_WRITE) != 0) {
node->tn_status |= TMPFS_NODE_MODIFIED;
+ if (vp->v_mount->mnt_flag & MNT_RELATIME)
+ node->tn_status |= TMPFS_NODE_ACCESSED;
+ }
}
/*
diff -r 68bd1e7e0b62 -r 22eb9ac241be sys/fs/udf/udf_vnops.c
--- a/sys/fs/udf/udf_vnops.c Fri Nov 18 21:17:45 2011 +0000
+++ b/sys/fs/udf/udf_vnops.c Fri Nov 18 21:18:50 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: udf_vnops.c,v 1.68 2011/10/18 20:20:29 hannken Exp $ */
+/* $NetBSD: udf_vnops.c,v 1.69 2011/11/18 21:18:51 christos Exp $ */
/*
* Copyright (c) 2006, 2008 Reinoud Zandijk
@@ -32,7 +32,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__KERNEL_RCSID(0, "$NetBSD: udf_vnops.c,v 1.68 2011/10/18 20:20:29 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udf_vnops.c,v 1.69 2011/11/18 21:18:51 christos Exp $");
#endif /* not lint */
@@ -376,6 +376,8 @@
/* mark node changed and request update */
udf_node->i_flags |= IN_CHANGE | IN_UPDATE;
+ if (vp->v_mount->mnt_flag & MNT_RELATIME)
+ udf_node->i_flags |= IN_ACCESS;
/*
* XXX TODO FFS has code here to reset setuid & setgid when we're not
@@ -977,6 +979,8 @@
/* mark node changed */
udf_node->i_flags |= IN_CHANGE;
+ if (vp->v_mount->mnt_flag & MNT_RELATIME)
+ udf_node->i_flags |= IN_ACCESS;
return 0;
}
@@ -1013,6 +1017,8 @@
/* mark node changed */
udf_node->i_flags |= IN_CHANGE;
+ if (vp->v_mount->mnt_flag & MNT_RELATIME)
+ udf_node->i_flags |= IN_ACCESS;
return 0;
}
@@ -1063,6 +1069,8 @@
if (error == 0) {
/* mark change */
udf_node->i_flags |= IN_CHANGE | IN_MODIFY;
+ if (vp->v_mount->mnt_flag & MNT_RELATIME)
+ udf_node->i_flags |= IN_ACCESS;
VN_KNOTE(vp, NOTE_ATTRIB | (extended ? NOTE_EXTEND : 0));
udf_update(vp, NULL, NULL, NULL, 0);
}
@@ -1116,8 +1124,11 @@
if (atime->tv_sec != VNOVAL)
if (!(vp->v_mount->mnt_flag & MNT_NOATIME))
udf_node->i_flags |= IN_ACCESS;
- if ((mtime->tv_sec != VNOVAL) || (birthtime->tv_sec != VNOVAL))
+ if ((mtime->tv_sec != VNOVAL) || (birthtime->tv_sec != VNOVAL)) {
udf_node->i_flags |= IN_CHANGE | IN_UPDATE;
+ if (vp->v_mount->mnt_flag & MNT_RELATIME)
+ udf_node->i_flags |= IN_ACCESS;
+ }
return udf_update(vp, atime, mtime, birthtime, 0);
}
diff -r 68bd1e7e0b62 -r 22eb9ac241be sys/ufs/ext2fs/ext2fs_readwrite.c
--- a/sys/ufs/ext2fs/ext2fs_readwrite.c Fri Nov 18 21:17:45 2011 +0000
+++ b/sys/ufs/ext2fs/ext2fs_readwrite.c Fri Nov 18 21:18:50 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ext2fs_readwrite.c,v 1.57 2011/06/12 03:36:00 rmind Exp $ */
+/* $NetBSD: ext2fs_readwrite.c,v 1.58 2011/11/18 21:18:51 christos Exp $ */
/*-
* Copyright (c) 1993
@@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ext2fs_readwrite.c,v 1.57 2011/06/12 03:36:00 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ext2fs_readwrite.c,v 1.58 2011/11/18 21:18:51 christos Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -374,6 +374,8 @@
out:
ip->i_flag |= IN_CHANGE | IN_UPDATE;
+ if (vp->v_mount->mnt_flag & MNT_RELATIME)
+ ip->i_flag |= IN_ACCESS;
if (resid > uio->uio_resid && ap->a_cred &&
kauth_authorize_generic(ap->a_cred, KAUTH_GENERIC_ISSUSER, NULL))
ip->i_e2fs_mode &= ~(ISUID | ISGID);
diff -r 68bd1e7e0b62 -r 22eb9ac241be sys/ufs/ext2fs/ext2fs_vnops.c
--- a/sys/ufs/ext2fs/ext2fs_vnops.c Fri Nov 18 21:17:45 2011 +0000
+++ b/sys/ufs/ext2fs/ext2fs_vnops.c Fri Nov 18 21:18:50 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ext2fs_vnops.c,v 1.100 2011/07/12 16:59:48 dholland Exp $ */
+/* $NetBSD: ext2fs_vnops.c,v 1.101 2011/11/18 21:18:51 christos Exp $ */
/*
* Copyright (c) 1982, 1986, 1989, 1993
@@ -65,7 +65,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ext2fs_vnops.c,v 1.100 2011/07/12 16:59:48 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ext2fs_vnops.c,v 1.101 2011/11/18 21:18:51 christos Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -431,8 +431,11 @@
if (vap->va_atime.tv_sec != VNOVAL)
if (!(vp->v_mount->mnt_flag & MNT_NOATIME))
ip->i_flag |= IN_ACCESS;
- if (vap->va_mtime.tv_sec != VNOVAL)
+ if (vap->va_mtime.tv_sec != VNOVAL) {
ip->i_flag |= IN_CHANGE | IN_UPDATE;
+ if (vp->v_mount->mnt_flag & MNT_RELATIME)
+ ip->i_flag |= IN_ACCESS;
+ }
error = ext2fs_update(vp, &vap->va_atime, &vap->va_mtime,
UPDATE_WAIT);
if (error)
@@ -1282,6 +1285,8 @@
if (error)
goto bad;
ip->i_flag |= IN_CHANGE | IN_UPDATE;
+ if (vp->v_mount->mnt_flag & MNT_RELATIME)
+ ip->i_flag |= IN_ACCESS;
uvm_vnp_setsize(vp, len);
} else
error = vn_rdwr(UIO_WRITE, vp, ap->a_target, len, (off_t)0,
diff -r 68bd1e7e0b62 -r 22eb9ac241be sys/ufs/ufs/ufs_readwrite.c
--- a/sys/ufs/ufs/ufs_readwrite.c Fri Nov 18 21:17:45 2011 +0000
+++ b/sys/ufs/ufs/ufs_readwrite.c Fri Nov 18 21:18:50 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ufs_readwrite.c,v 1.99 2011/07/11 08:27:41 hannken Exp $ */
+/* $NetBSD: ufs_readwrite.c,v 1.100 2011/11/18 21:18:52 christos Exp $ */
/*-
* Copyright (c) 1993
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: ufs_readwrite.c,v 1.99 2011/07/11 08:27:41 hannken Exp $");
+__KERNEL_RCSID(1, "$NetBSD: ufs_readwrite.c,v 1.100 2011/11/18 21:18:52 christos Exp $");
#ifdef LFS_READWRITE
#define FS struct lfs
@@ -507,6 +507,8 @@
*/
out:
ip->i_flag |= IN_CHANGE | IN_UPDATE;
+ if (vp->v_mount->mnt_flag & MNT_RELATIME)
+ ip->i_flag |= IN_ACCESS;
if (resid > uio->uio_resid && ap->a_cred &&
kauth_authorize_generic(ap->a_cred, KAUTH_GENERIC_ISSUSER, NULL)) {
ip->i_mode &= ~(ISUID | ISGID);
diff -r 68bd1e7e0b62 -r 22eb9ac241be sys/ufs/ufs/ufs_vnops.c
--- a/sys/ufs/ufs/ufs_vnops.c Fri Nov 18 21:17:45 2011 +0000
+++ b/sys/ufs/ufs/ufs_vnops.c Fri Nov 18 21:18:50 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ufs_vnops.c,v 1.205 2011/09/27 02:10:32 christos Exp $ */
+/* $NetBSD: ufs_vnops.c,v 1.206 2011/11/18 21:18:52 christos Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -66,7 +66,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ufs_vnops.c,v 1.205 2011/09/27 02:10:32 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ufs_vnops.c,v 1.206 2011/11/18 21:18:52 christos Exp $");
#if defined(_KERNEL_OPT)
#include "opt_ffs.h"
@@ -638,8 +638,11 @@
if (vap->va_atime.tv_sec != VNOVAL)
if (!(vp->v_mount->mnt_flag & MNT_NOATIME))
ip->i_flag |= IN_ACCESS;
- if (vap->va_mtime.tv_sec != VNOVAL)
Home |
Main Index |
Thread Index |
Old Index