Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Sep 2009 10:51:51 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r197030 - head/sys/kern
Message-ID:  <200909091051.n89Appfs083217@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909091051.n89Appfs083217>