Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Sep 2009 14:58:21 +0000 (UTC)
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r197287 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <200909171458.n8HEwLYx061190@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pjd
Date: Thu Sep 17 14:58:21 2009
New Revision: 197287
URL: http://svn.freebsd.org/changeset/base/197287

Log:
  Purge namecache for the file system being rolled back, so it doesn't point at
  invalid vnodes after the rollback resulting in EIO errors when trying to access
  files which are in the namecache.
  
  Reported by:	des
  MFC after:	3 days

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Thu Sep 17 14:52:15 2009	(r197286)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Thu Sep 17 14:58:21 2009	(r197287)
@@ -2354,6 +2354,9 @@ zfs_ioc_rollback(zfs_cmd_t *zc)
 		if (error == 0) {
 			int resume_err;
 
+#ifdef FREEBSD_NAMECACHE
+			cache_purgevfs(zfsvfs->z_vfs);
+#endif
 			ASSERT(strcmp(osname, zc->zc_name) == 0);
 			error = dmu_objset_rollback(os);
 			resume_err = zfs_resume_fs(zfsvfs, osname, mode);



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