Messages in this thread |  | | | Date | Sat, 18 Dec 1999 10:16:41 -0800 | | From | "David S. Miller" <> | | Subject | Re: More on the IDE multiwrite problem |
| |
Date: Sat, 18 Dec 1999 13:02:17 -0500 From: TenThumbs <tenthumbs@cybernex.net>
I'm still seeing the problem in 2.2.14pre15 although it may have moved. Now I get:
Dec 18 12:45:34 perfect kernel: hdc: buffer list corrupted (0, -2, 2) Dec 18 12:45:34 perfect kernel: end_request: I/O error, dev 16:01 (hdc), sector 1672808
Do you have a patch to try?
Alan, I think Mark is right, what if:
do { unsigned long flags; unsigned long nsect = rq->current_nr_sectors; if (nsect > mcount) nsect = mcount; mcount -= nsect; idedisk_output_data(drive, rq->buffer, nsect<<7);
IRQ right after the output to the disk, and reread current_nr_sectors, output data to the disk again, etc.
The second call will decrement nr_sectors in the rq, we return from the IRQ and the toplevel call does it again, resulting in the corrupted request.
Later, David S. Miller davem@redhat.com
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
|  |