summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/zfs/zfs_ctldir.c
diff options
context:
space:
mode:
authorperrin <none@none>2006-01-19 12:01:13 -0800
committerperrin <none@none>2006-01-19 12:01:13 -0800
commit8afd4dd66b1dd487290f73b2f35040343a3cb821 (patch)
treeb9d98e30cafee2f9b1f6757adbcca73a38e9784a /usr/src/uts/common/fs/zfs/zfs_ctldir.c
parentd1a96f96f5596d01fbc8f94d718b4d737bfdca8e (diff)
downloadillumos-gate-8afd4dd66b1dd487290f73b2f35040343a3cb821.tar.gz
6368181 some memleaks found related to zfs mount
6372094 zil_commit() may be called recursively and deadlock with itself
Diffstat (limited to 'usr/src/uts/common/fs/zfs/zfs_ctldir.c')
-rw-r--r--usr/src/uts/common/fs/zfs/zfs_ctldir.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/usr/src/uts/common/fs/zfs/zfs_ctldir.c b/usr/src/uts/common/fs/zfs/zfs_ctldir.c
index 29e5e7ad89..3aba6d38fb 100644
--- a/usr/src/uts/common/fs/zfs/zfs_ctldir.c
+++ b/usr/src/uts/common/fs/zfs/zfs_ctldir.c
@@ -20,7 +20,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -199,14 +199,13 @@ zfsctl_create(zfsvfs_t *zfsvfs)
}
/*
- * Destroy the '.zfs' directory. Only called when the filesystem is
- * unmounted, and there are no more references. Release the vnode,
- * which will release the hold on the vfs structure.
+ * Destroy the '.zfs' directory. Only called when the filesystem is unmounted.
+ * There might still be more references if we were force unmounted, but only
+ * new zfs_inactive() calls can occur and they don't reference .zfs
*/
void
zfsctl_destroy(zfsvfs_t *zfsvfs)
{
- ASSERT(zfsvfs->z_ctldir->v_count == 1);
VN_RELE(zfsvfs->z_ctldir);
zfsvfs->z_ctldir = NULL;
}