X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=module%2Fzfs%2Fzfs_vfsops.c;h=bb2fdb029574f303a0dc3d24c505b9c881c21a7a;hb=2c395def2763ccc7a549d297f7f11bd304caaeae;hp=1763d171a06ddf9f7d15f99a73b2c0a0712c037f;hpb=3558fd73b5d863304102f6745c26e0b592aca60a;p=zfs.git diff --git a/module/zfs/zfs_vfsops.c b/module/zfs/zfs_vfsops.c index 1763d17..bb2fdb0 100644 --- a/module/zfs/zfs_vfsops.c +++ b/module/zfs/zfs_vfsops.c @@ -1071,17 +1071,17 @@ zfsvfs_teardown(zfs_sb_t *zsb, boolean_t unmounting) rrw_enter(&zsb->z_teardown_lock, RW_WRITER, FTAG); -#ifdef HAVE_DNLC if (!unmounting) { /* - * We purge the parent filesystem's vfsp as the parent - * filesystem and all of its snapshots have their vnode's - * v_vfsp set to the parent's filesystem's vfsp. Note, - * 'z_parent' is self referential for non-snapshots. + * We purge the parent filesystem's super block as the + * parent filesystem and all of its snapshots have their + * inode's super block set to the parent's filesystem's + * super block. Note, 'z_parent' is self referential + * for non-snapshots. */ - (void) dnlc_purge_vfsp(zsb->z_parent->z_vfs, 0); + shrink_dcache_sb(zsb->z_parent->z_sb); + invalidate_inodes(zsb->z_parent->z_sb); } -#endif /* HAVE_DNLC */ /* * Close the zil. NB: Can't close the zil while zfs_inactive