From 8afd4dd66b1dd487290f73b2f35040343a3cb821 Mon Sep 17 00:00:00 2001 From: perrin Date: Thu, 19 Jan 2006 12:01:13 -0800 Subject: 6368181 some memleaks found related to zfs mount 6372094 zil_commit() may be called recursively and deadlock with itself --- usr/src/uts/common/fs/zfs/zfs_ctldir.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'usr/src/uts/common/fs/zfs/zfs_ctldir.c') 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; } -- cgit v1.2.3