summaryrefslogtreecommitdiffstats
path: root/sys/cddl
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2009-09-20 13:28:29 +0000
committerpjd <pjd@FreeBSD.org>2009-09-20 13:28:29 +0000
commitca8a7b5d9511c32327deb88340f17f282c8f6c85 (patch)
treede096e8a54597b9bc377221bc4ae7876bd0f0788 /sys/cddl
parentb03385f44cc4a9c9900521dd1f2876858c50372f (diff)
downloadFreeBSD-src-ca8a7b5d9511c32327deb88340f17f282c8f6c85.zip
FreeBSD-src-ca8a7b5d9511c32327deb88340f17f282c8f6c85.tar.gz
Purge namecache in the same place OpenSolaris does.
Diffstat (limited to 'sys/cddl')
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c6
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c3
2 files changed, 3 insertions, 6 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
index 9977a37..080643a 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
@@ -2354,9 +2354,6 @@ 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);
@@ -2543,9 +2540,6 @@ zfs_ioc_recv(zfs_cmd_t *zc)
if (error == 0) {
int resume_err;
-#ifdef FREEBSD_NAMECACHE
- cache_purgevfs(zfsvfs->z_vfs);
-#endif
error = dmu_recv_end(&drc);
resume_err = zfs_resume_fs(zfsvfs, osname, mode);
error = error ? error : resume_err;
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
index 185d84b..e3e12dd 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
@@ -898,6 +898,9 @@ zfsvfs_teardown(zfsvfs_t *zfsvfs, boolean_t unmounting)
* 'z_parent' is self referential for non-snapshots.
*/
(void) dnlc_purge_vfsp(zfsvfs->z_parent->z_vfs, 0);
+#ifdef FREEBSD_NAMECACHE
+ cache_purgevfs(zfsvfs->z_parent->z_vfs);
+#endif
}
/*
OpenPOWER on IntegriCloud