From owner-freebsd-scsi@FreeBSD.ORG Thu Apr 1 02:40:45 2010 Return-Path: Delivered-To: freebsd-scsi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D379C106564A for ; Thu, 1 Apr 2010 02:40:45 +0000 (UTC) (envelope-from mj@feral.com) Received: from ns1.feral.com (ns1.feral.com [192.67.166.1]) by mx1.freebsd.org (Postfix) with ESMTP id A6CD48FC0A for ; Thu, 1 Apr 2010 02:40:45 +0000 (UTC) Received: from [192.168.0.102] (m206-63.dsl.tsoft.com [198.144.206.63]) by ns1.feral.com (8.14.3/8.14.3) with ESMTP id o312ejcI034638 for ; Wed, 31 Mar 2010 18:40:45 -0800 (PST) (envelope-from mj@feral.com) Message-ID: <4BB407AF.6020602@feral.com> Date: Wed, 31 Mar 2010 19:40:47 -0700 From: Matthew Jacob User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100227 Thunderbird/3.0.3 MIME-Version: 1.0 To: freebsd-scsi@freebsd.org References: <3bbf2fe11002281655i61a5f0a0if3f381ad0c4a1ef8@mail.gmail.com> <3bbf2fe11003031607wa3727b5ke89bc2a909d4d6a6@mail.gmail.com> <4B901419.8060800@feral.com> <3bbf2fe11003041737p30690522ya81e1b8f4bd6bbf9@mail.gmail.com> <3bbf2fe11003120601y3c403a1ct50f9fc6c1f0903bf@mail.gmail.com> <4B9A91DA.7030107@FreeBSD.org> <3bbf2fe11003200523t60895bfv1fa73d04e58a7838@mail.gmail.com> <4BA5C746.7060203@FreeBSD.org> <3bbf2fe11003300725vdb1e4ddrf112778ca2bbbc20@mail.gmail.com> <4BB20BF0.3090605@feral.com> <3bbf2fe11003300743k7045d986rec439ad292f2743d@mail.gmail.com> <4BB22381.4010302@feral.com> In-Reply-To: <4BB22381.4010302@feral.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.2.3 (ns1.feral.com [192.67.166.1]); Wed, 31 Mar 2010 18:40:45 -0800 (PST) Subject: Re: How is supposed to be protected the units list? X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Apr 2010 02:40:45 -0000 On 3/30/2010 9:14 AM, Matthew Jacob wrote: > Absolutely. I might also be insane. Working on finding that out. >> May you please refer precisely to current code snippets (in terms of >> functions, file, line, etc) in order to better explain this and the It partly ends up the same as what Alexander found. I like his unit_lock patch a bit better. In terms of the xpt_lock.diff patches for da- I don't think this is a good idea as they stand. This is part of shutdown code, which can be called as part of panic, so there is no guarantee about what locks might or might not be held, or even whether the list being traversed is intact at all. The problems that I ran into previously in da won't be fixed really by any of this. The problem here for da(4) is that it is scheduling a task to run- if the periph is going away, then the task should be cancelled. Still testing... I'm working on a fault injection case where tons of arrival/departure events can be thrown at this.