From owner-freebsd-current@FreeBSD.ORG Wed Aug 10 10:27:50 2005 Return-Path: X-Original-To: freebsd-current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1571E16A420; Wed, 10 Aug 2005 10:27:50 +0000 (GMT) (envelope-from ssouhlal@FreeBSD.org) Received: from efnet-math.org (efnet-math.org [69.60.109.125]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8E44A43D5A; Wed, 10 Aug 2005 10:27:47 +0000 (GMT) (envelope-from ssouhlal@FreeBSD.org) Received: from [151.28.88.105] (ppp-105-88.28-151.libero.it [151.28.88.105]) (authenticated bits=0) by efnet-math.org (8.13.1/8.13.1) with ESMTP id j7AARftv009173 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO); Wed, 10 Aug 2005 06:27:44 -0400 In-Reply-To: <50B7B998-A1A3-4AF1-8BE1-DF61E0D1E950@FreeBSD.org> References: <200508101002.j7AA2D0U099849@gw.catspoiler.org> <50B7B998-A1A3-4AF1-8BE1-DF61E0D1E950@FreeBSD.org> Mime-Version: 1.0 (Apple Message framework v733) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <7F34BFAD-BE04-4162-9F79-2E04DC46B209@FreeBSD.org> Content-Transfer-Encoding: 7bit From: Suleiman Souhlal Date: Wed, 10 Aug 2005 12:27:31 +0200 To: Suleiman Souhlal X-Mailer: Apple Mail (2.733) Cc: kan@FreeBSD.org, Don Lewis , freebsd-current@FreeBSD.org, thierry@herbelot.com Subject: Re: panic: lock (sleep mutex) vnode interlock not locked X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Aug 2005 10:27:50 -0000 Hello, On Aug 10, 2005, at 12:18 PM, Suleiman Souhlal wrote: > Hi, > > On Aug 10, 2005, at 12:02 PM, Don Lewis wrote: > > >> What is preventing VI_DOOMED from being set while we're waiting for >> VOP_LOCK()? Contrary to what the VOP_LOCK(9) man page says about >> LK_INTERLOCK, it looks like lockmgr() drops the vnode interlock >> before >> it attempts to grab the vnode lock. >> > > VI_DOOMED is only set by vgonel(), and it requires both the vnode > and the interlock locked. I read your message a bit too fast. I think you are right. We should probably move the check for VI_DOOMED etc, after we've acquired the vnode lock. -- Suleiman Souhlal | ssouhlal@vt.edu The FreeBSD Project | ssouhlal@FreeBSD.org