Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Mar 2005 12:02:20 -0500 (EST)
From:      "Matthew N. Dodd" <mdodd@FreeBSD.ORG>
To:        Karl Denninger <karl@denninger.net>
Cc:        freebsd-stable@FreeBSD.ORG
Subject:   Re: DANGER WILL ROBINSON! SERIOUS problem with current5.4-PRERELEASE - UPDATE (real this time)
Message-ID:  <20050331120100.P328@sasami.jurai.net>
In-Reply-To: <20050330230046.A68235@denninger.net>
References:  <20050329200841.A772@denninger.net> <20050329233843.L328@sasami.jurai.net> <20050329234318.A3883@denninger.net> <20050330230046.A68235@denninger.net>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Wed, 30 Mar 2005, Karl Denninger wrote:
> Removing the FIRST delta, which is:
>
> 218a219,221
>       if (!dumping)
>           callout_reset(&request->callout, request->timeout * hz,
>                         (timeout_t*)ata_timeout, request);
>
> appears to get rid of the crashes while not harming data integrity OR the
> reqeueing.

I'd be interested to know if the attached patch does anything.

-- 
10 40 80 C0 00 FF FF FF FF C0 00 00 00 00 10 AA AA 03 00 00 00 08 00
[-- Attachment #2 --]
Index: ata-queue.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-queue.c,v
retrieving revision 1.32.2.6
diff -u -u -r1.32.2.6 ata-queue.c
--- ata-queue.c	23 Mar 2005 04:50:26 -0000	1.32.2.6
+++ ata-queue.c	31 Mar 2005 17:00:46 -0000
@@ -217,8 +217,7 @@
     }
     else {
 	if (!dumping)
-	    callout_reset(&request->callout, request->timeout * hz,
-			  (timeout_t*)ata_timeout, request);
+            callout_drain(&request->callout);
 	if (request->bio && !(request->flags & ATA_R_TIMEOUT)) {
 	    ATA_DEBUG_RQ(request, "finish bio_taskqueue");
 	    bio_taskqueue(request->bio, (bio_task_t *)ata_completed, request);

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