From owner-freebsd-fs@FreeBSD.ORG Thu Dec 27 17:17:39 2007 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0AF6A16A41A for ; Thu, 27 Dec 2007 17:17:39 +0000 (UTC) (envelope-from srajag00@yahoo.com) Received: from web90514.mail.mud.yahoo.com (web90514.mail.mud.yahoo.com [216.252.100.181]) by mx1.freebsd.org (Postfix) with SMTP id C9E4113C46E for ; Thu, 27 Dec 2007 17:17:38 +0000 (UTC) (envelope-from srajag00@yahoo.com) Received: (qmail 3586 invoked by uid 60001); 27 Dec 2007 17:17:38 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=cPHaRWNA6UX7l3ibum4TFfYSvAzo2q57bhpDtrT6q/d0yUGCxqTqczmf6ocXDikOzvzS+GMSKg0TtahoI72y66QuO1NGsAwO94wGsJG+TePCbN14gETF/Kku/hiNYV2dWIvykASdxAnyJg3zmShx8TsQ2XkxFzXWqREXr+lZwBQ=; X-YMail-OSG: dp9PSFsVM1lX.qxF0fqmgtUpi7Wc9p4lKmx0f460R1zrPyOOYGXl4eg6l2GrfNG34J9pnavV6HvG2st.oSMCZsMPV7sI2LdnwwYFyeJLPJmAwhr6FV4- Received: from [71.139.47.161] by web90514.mail.mud.yahoo.com via HTTP; Thu, 27 Dec 2007 09:17:38 PST Date: Thu, 27 Dec 2007 09:17:38 -0800 (PST) From: Raja Sivaramakrishnan To: Kostik Belousov In-Reply-To: <20071227131521.GO57756@deviant.kiev.zoral.com.ua> MIME-Version: 1.0 Message-ID: <153149.2801.qm@web90514.mail.mud.yahoo.com> Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-fs@freebsd.org Subject: Re: namei lookup vnode locking X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Dec 2007 17:17:39 -0000 Thanks for the response - I'll take a look at the handbook. Regarding ttywait, it was not called through the ttydrain ioctl. ttywait was called through fdfree from exit1() when the login process was exiting. I believe this is called with the vnode lock held. - Raja First, there were the significant locking fixes for the devfs after 6.1, in particular, check that 6.2, or, even better 6.3-latest RC shows the errant behaviour. It may be all fixed already. For proper reporting of the deadlock, see kernel debug chapter of the developer handbook, in particular, deadlock section. I have a doubt regarding you analysis as far as I was able to understand it. ttydrain() ioctl does not hold the dev vnode lock while calling the driver. Anyway, do what I recommended above. --------------------------------- Never miss a thing. Make Yahoo your homepage.