From owner-cvs-all@FreeBSD.ORG Fri Jul 20 11:14:52 2007 Return-Path: Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3BB3E16A41F; Fri, 20 Jul 2007 11:14:52 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2F27B13C465; Fri, 20 Jul 2007 11:14:52 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6KBEqLO055785; Fri, 20 Jul 2007 11:14:52 GMT (envelope-from rwatson@repoman.freebsd.org) Received: (from rwatson@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6KBEpiA055784; Fri, 20 Jul 2007 11:14:51 GMT (envelope-from rwatson) Message-Id: <200707201114.l6KBEpiA055784@repoman.freebsd.org> From: Robert Watson Date: Fri, 20 Jul 2007 11:14:51 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/fs/coda coda_vfsops.c coda_vnops.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Jul 2007 11:14:52 -0000 rwatson 2007-07-20 11:14:51 UTC FreeBSD src repository Modified files: sys/fs/coda coda_vfsops.c coda_vnops.c Log: Make sure we release the control vnode in Coda: We allocate coda_ctlvp when /coda is mounted, but never release it. During the unmount this vnode was marked as UNMOUNTING and when venus is started a second time the system would hang, possibly waiting for the old vnode to disappear. So now we call vrele on the control vnode when file system is unmounted to drop the reference we got during the mount. I'm pretty sure it is also necessary to not skip the handling in coda_inactive for the control vnode, it seems like that is the place we actually get rid of the vnode once the refcount has dropped to 0. Submitted by: Jan Harkes Approved by: re (kensmith) Revision Changes Path 1.67 +1 -0 src/sys/fs/coda/coda_vfsops.c 1.76 +0 -5 src/sys/fs/coda/coda_vnops.c