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
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);
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to