From owner-svn-src-all@FreeBSD.ORG Fri Apr 3 22:26:18 2009 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D05831065672; Fri, 3 Apr 2009 22:26:18 +0000 (UTC) (envelope-from keramida@ceid.upatras.gr) Received: from poseidon.ceid.upatras.gr (poseidon.ceid.upatras.gr [150.140.141.169]) by mx1.freebsd.org (Postfix) with ESMTP id 481128FC23; Fri, 3 Apr 2009 22:26:18 +0000 (UTC) (envelope-from keramida@ceid.upatras.gr) Received: from mail.ceid.upatras.gr (unknown [10.1.0.143]) by poseidon.ceid.upatras.gr (Postfix) with ESMTP id 69379EB504E; Sat, 4 Apr 2009 01:26:16 +0300 (EEST) Received: from localhost (europa.ceid.upatras.gr [127.0.0.1]) by mail.ceid.upatras.gr (Postfix) with ESMTP id 4FB8D4509B; Sat, 4 Apr 2009 01:26:16 +0300 (EEST) X-Virus-Scanned: amavisd-new at ceid.upatras.gr Received: from mail.ceid.upatras.gr ([127.0.0.1]) by localhost (europa.ceid.upatras.gr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R0LCRpJe9H44; Sat, 4 Apr 2009 01:26:16 +0300 (EEST) Received: from kobe.laptop (unknown [188.4.10.162]) by mail.ceid.upatras.gr (Postfix) with ESMTP id 1407F4503F; Sat, 4 Apr 2009 01:26:16 +0300 (EEST) Received: from kobe.laptop (kobe.laptop [127.0.0.1]) by kobe.laptop (8.14.3/8.14.3) with ESMTP id n33MQFHC002409; Sat, 4 Apr 2009 01:26:15 +0300 (EEST) (envelope-from keramida@ceid.upatras.gr) Received: (from keramida@localhost) by kobe.laptop (8.14.3/8.14.3/Submit) id n33MQEYs002408; Sat, 4 Apr 2009 01:26:14 +0300 (EEST) (envelope-from keramida@ceid.upatras.gr) From: Giorgos Keramidas To: Peter Wemm References: <200904022116.n32LGK81076210@svn.freebsd.org> Date: Sat, 04 Apr 2009 01:26:14 +0300 In-Reply-To: <200904022116.n32LGK81076210@svn.freebsd.org> (Peter Wemm's message of "Thu, 2 Apr 2009 21:16:20 +0000 (UTC)") Message-ID: <87y6uhqsqh.fsf@kobe.laptop> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r190655 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Apr 2009 22:26:19 -0000 On Thu, 2 Apr 2009 21:16:20 +0000 (UTC), Peter Wemm wrote: > Author: peter > Date: Thu Apr 2 21:16:20 2009 > New Revision: 190655 > URL: http://svn.freebsd.org/changeset/base/190655 > > Log: > vn_vptocnp() unlocks the name cache and forgets to re-lock it before > returning in one error case, and mistakenly unlocks it for the > umount -f case. > > Modified: > head/sys/kern/vfs_cache.c > > Modified: head/sys/kern/vfs_cache.c > ============================================================================== > --- head/sys/kern/vfs_cache.c Thu Apr 2 19:27:56 2009 (r190654) > +++ head/sys/kern/vfs_cache.c Thu Apr 2 21:16:20 2009 (r190655) > @@ -971,6 +971,7 @@ vn_vptocnp(struct vnode **vp, char **bp, > vdrop(*vp); > VFS_UNLOCK_GIANT(vfslocked); > if (error) { > + CACHE_RLOCK(); > numfullpathfail2++; > return (error); > } > @@ -979,7 +980,6 @@ vn_vptocnp(struct vnode **vp, char **bp, > CACHE_RLOCK(); > if ((*vp)->v_iflag & VI_DOOMED) { > /* forced unmount */ > - CACHE_RUNLOCK(); > vdrop(*vp); > return (ENOENT); > } This seems to trigger panics for nullfs mounts: System call __getcwd returning with the following locks held: shared rw Name Cache (Name Cache) r = 0 (0xc0ba245c) locked @ /usr/src/sys/kern/vfs_cache.c:980 panic: witness_warn