Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F163526250
D23422.id67603.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D23422.id67603.diff
View Options
Index: head/sys/kern/kern_exec.c
===================================================================
--- head/sys/kern/kern_exec.c
+++ head/sys/kern/kern_exec.c
@@ -870,7 +870,7 @@
/* Set values passed into the program in registers. */
(*p->p_sysent->sv_setregs)(td, imgp, stack_base);
- vfs_mark_atime(imgp->vp, td->td_ucred);
+ VOP_MMAPPED(imgp->vp);
SDT_PROBE1(proc, , , exec__success, args->fname);
Index: head/sys/kern/vfs_subr.c
===================================================================
--- head/sys/kern/vfs_subr.c
+++ head/sys/kern/vfs_subr.c
@@ -5956,23 +5956,6 @@
}
/*
- * Mark for update the access time of the file if the filesystem
- * supports VOP_MARKATIME. This functionality is used by execve and
- * mmap, so we want to avoid the I/O implied by directly setting
- * va_atime for the sake of efficiency.
- */
-void
-vfs_mark_atime(struct vnode *vp, struct ucred *cred)
-{
- struct mount *mp;
-
- mp = vp->v_mount;
- ASSERT_VOP_LOCKED(vp, "vfs_mark_atime");
- if (mp != NULL && (mp->mnt_flag & (MNT_NOATIME | MNT_RDONLY)) == 0)
- (void)VOP_MARKATIME(vp);
-}
-
-/*
* The purpose of this routine is to remove granularity from accmode_t,
* reducing it into standard unix access bits - VEXEC, VREAD, VWRITE,
* VADMIN and VAPPEND.
Index: head/sys/kern/vnode_if.src
===================================================================
--- head/sys/kern/vnode_if.src
+++ head/sys/kern/vnode_if.src
@@ -181,9 +181,9 @@
};
-%% markatime vp L L L
+%% mmapped vp L L L
-vop_markatime {
+vop_mmapped {
IN struct vnode *vp;
};
Index: head/sys/sys/vnode.h
===================================================================
--- head/sys/sys/vnode.h
+++ head/sys/sys/vnode.h
@@ -937,7 +937,6 @@
void vfs_hash_remove(struct vnode *vp);
int vfs_kqfilter(struct vop_kqfilter_args *);
-void vfs_mark_atime(struct vnode *vp, struct ucred *cred);
struct dirent;
int vfs_read_dirent(struct vop_readdir_args *ap, struct dirent *dp, off_t off);
int vfs_emptydir(struct vnode *vp);
Index: head/sys/ufs/ufs/ufs_vnops.c
===================================================================
--- head/sys/ufs/ufs/ufs_vnops.c
+++ head/sys/ufs/ufs/ufs_vnops.c
@@ -108,7 +108,7 @@
static vop_ioctl_t ufs_ioctl;
static vop_link_t ufs_link;
static int ufs_makeinode(int mode, struct vnode *, struct vnode **, struct componentname *, const char *);
-static vop_markatime_t ufs_markatime;
+static vop_mmapped_t ufs_mmapped;
static vop_mkdir_t ufs_mkdir;
static vop_mknod_t ufs_mknod;
static vop_open_t ufs_open;
@@ -676,19 +676,22 @@
}
#endif /* UFS_ACL */
-/*
- * Mark this file's access time for update for vfs_mark_atime(). This
- * is called from execve() and mmap().
- */
static int
-ufs_markatime(ap)
- struct vop_markatime_args /* {
+ufs_mmapped(ap)
+ struct vop_mmapped_args /* {
struct vnode *a_vp;
} */ *ap;
{
- struct inode *ip = VTOI(ap->a_vp);
+ struct vnode *vp;
+ struct inode *ip;
+ struct mount *mp;
- UFS_INODE_SET_FLAG_SHARED(ip, IN_ACCESS);
+ vp = ap->a_vp;
+ ip = VTOI(vp);
+ mp = vp->v_mount;
+
+ if ((mp->mnt_flag & (MNT_NOATIME | MNT_RDONLY)) == 0)
+ UFS_INODE_SET_FLAG_SHARED(ip, IN_ACCESS);
/*
* XXXKIB No UFS_UPDATE(ap->a_vp, 0) there.
*/
@@ -2741,7 +2744,7 @@
.vop_ioctl = ufs_ioctl,
.vop_link = ufs_link,
.vop_lookup = vfs_cache_lookup,
- .vop_markatime = ufs_markatime,
+ .vop_mmapped = ufs_mmapped,
.vop_mkdir = ufs_mkdir,
.vop_mknod = ufs_mknod,
.vop_need_inactive = ufs_need_inactive,
Index: head/sys/vm/vm_mmap.c
===================================================================
--- head/sys/vm/vm_mmap.c
+++ head/sys/vm/vm_mmap.c
@@ -1354,7 +1354,7 @@
*objp = obj;
*flagsp = flags;
- vfs_mark_atime(vp, cred);
+ VOP_MMAPPED(vp);
done:
if (error != 0 && *writecounted) {
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Jul 25, 3:42 AM (4 h, 31 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35460927
Default Alt Text
D23422.id67603.diff (3 KB)
Attached To
Mode
D23422: vfs: replace VOP_MARKATIME with VOP_MMAPPED
Attached
Detach File
Event Timeline
Log In to Comment