diff options
author | perrin <none@none> | 2006-01-19 12:01:13 -0800 |
---|---|---|
committer | perrin <none@none> | 2006-01-19 12:01:13 -0800 |
commit | 8afd4dd66b1dd487290f73b2f35040343a3cb821 (patch) | |
tree | b9d98e30cafee2f9b1f6757adbcca73a38e9784a /usr/src/uts/common/fs/zfs/zfs_ctldir.c | |
parent | d1a96f96f5596d01fbc8f94d718b4d737bfdca8e (diff) | |
download | illumos-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.c | 9 |
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; } |