Date: Fri, 5 Sep 2003 12:50:36 -0700 (PDT) From: Nate Lawson <nate@root.org> To: David Greenman <dg@FreeBSD.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: <20030905124936.F72174@root.org> In-Reply-To: <20030905182744.6630916A4E8@hub.freebsd.org> References: <20030905182744.6630916A4E8@hub.freebsd.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? -Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030905124936.F72174>