On Sat, 1 Apr 2000, Manfred Spraul wrote:

>From: "Andrea Arcangeli" <[EMAIL PROTECTED]>
>>
>> And the previous one (as said in earlier email) made no sense since 16:06
>> should be the sixth gscd and you said you don't have such device even
>> compiled into the kernel.
>>
>Perhaps the debug code should hexdump the complete req pointer (+- 256
>bytes)?

This debugging patch should do the trick:

--- debug/drivers/block/elevator.c.~1~  Wed Mar 15 16:45:10 2000
+++ debug/drivers/block/elevator.c      Sat Apr  1 17:14:52 2000
@@ -57,9 +57,6 @@
        struct list_head * entry = &q->queue_head;
        static int counter;
 
-       if (counter++ % 100)
-               return;
-
        while ((entry = entry->prev) != &q->queue_head)
        {
                struct request * req;
@@ -74,6 +71,13 @@
                                printk(KERN_WARNING
                                       "%s: elevator req->q NULL req->nr_segments 
%u\n",
                                       kdevname(dev), req->nr_segments);
+                       {
+                               unsigned long * x = (unsigned long *) req;
+                               int i;
+
+                               for (i = 0; i < 100; i++)
+                                       printk("elevator req dump %02d: %08lx\n", i, 
+*(x++));
+                       }
                        continue;
                }
                if (req->cmd == READ)

Andrea

Reply via email to