svn commit: r197030 - head/sys/kern

Konstantin Belousov kib at FreeBSD.org
Wed Sep 9 10:51:52 UTC 2009


Author: kib
Date: Wed Sep  9 10:51:50 2009
New Revision: 197030
URL: http://svn.freebsd.org/changeset/base/197030

Log:
  In vfs_mark_atime(9), be resistent against reclaimed vnodes.
  Assert that neccessary locks are taken, since vop might not be called.
  
  Tested by:	pho
  MFC after:	3 days

Modified:
  head/sys/kern/vfs_subr.c

Modified: head/sys/kern/vfs_subr.c
==============================================================================
--- head/sys/kern/vfs_subr.c	Wed Sep  9 10:31:20 2009	(r197029)
+++ head/sys/kern/vfs_subr.c	Wed Sep  9 10:51:50 2009	(r197030)
@@ -4269,8 +4269,12 @@ vfs_read_dirent(struct vop_readdir_args 
 void
 vfs_mark_atime(struct vnode *vp, struct ucred *cred)
 {
+	struct mount *mp;
 
-	if ((vp->v_mount->mnt_flag & (MNT_NOATIME | MNT_RDONLY)) == 0)
+	mp = vp->v_mount;
+	VFS_ASSERT_GIANT(mp);
+	ASSERT_VOP_LOCKED(vp, "vfs_mark_atime");
+	if (mp != NULL && (mp->mnt_flag & (MNT_NOATIME | MNT_RDONLY)) == 0)
 		(void)VOP_MARKATIME(vp);
 }
 


More information about the svn-src-all mailing list