Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Sep 2003 13:05:02 -0700
From:      "David G. Lawrence" <dg@dglawrence.com>
To:        Nate Lawson <nate@root.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/dev/ata ata-all.c ata-disk.c ata-disk.h atapi-all.c atapi-all.h
Message-ID:  <20030905200502.GB61917@nexus.dglawrence.com>
In-Reply-To: <20030905124936.F72174@root.org>
References:  <20030905182744.6630916A4E8@hub.freebsd.org> <20030905124936.F72174@root.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> On Fri, 5 Sep 2003, David Greenman wrote:
> >   Modified files:        (Branch: RELENG_4)
> >     sys/dev/ata          ata-all.c ata-disk.c ata-disk.h
> >                          atapi-all.c atapi-all.h
> >   Log:
> >   Fixed panics that will occur during attempts to rescan ATA disk devices
> >   (which occur after disk errors). The panic is due to attempts to acquire
> >   the ATA channel lock multiple times (at different levels), with the second
> >   attempt trying to sleep in an interrupt context. The fix is to indicate
> >   to the other levels that we already have the lock.
> >   The problem has been fixed in -current a different way and isn't portable
> >   to -stable.
> >
> >   Reviewed by:    sos@freebsd.org
> >   Approved by:    re@freebsd.org
> >
> >   Revision   Changes    Path
> >   1.50.2.47  +12 -12    src/sys/dev/ata/ata-all.c
> >   1.60.2.27  +3 -2      src/sys/dev/ata/ata-disk.c
> >   1.22.2.9   +1 -1      src/sys/dev/ata/ata-disk.h
> >   1.46.2.20  +3 -2      src/sys/dev/ata/atapi-all.c
> >   1.22.2.12  +1 -1      src/sys/dev/ata/atapi-all.h
> 
> Yikes, invasive.  Is there a way to do a "if (held(lock))" construct
> instead?

   What do you mean by invasive?

-DG

David G. Lawrence
Download Technologies, Inc. - http://www.downloadtech.com - (866) 399 8500
TeraSolutions, Inc. - http://www.terasolutions.com - (888) 346 7175
The FreeBSD Project - http://www.freebsd.org
Pave the road of life with opportunities.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030905200502.GB61917>