Re: 2.4.0-test11 ext2 fs corruption

From: Alexander Viro (viro@math.psu.edu)
Date: Wed Nov 29 2000 - 07:43:04 EST


On Wed, 29 Nov 2000 schwidefsky@de.ibm.com wrote:

>
>
> >--- drivers/block/ll_rw_blk.c~ Wed Nov 29 01:30:22 2000
> >+++ drivers/block/ll_rw_blk.c Wed Nov 29 01:33:00 2000
> >@@ -684,7 +684,7 @@
> > int max_segments = MAX_SEGMENTS;
> > struct request * req = NULL, *freereq = NULL;
> > int rw_ahead, max_sectors, el_ret;
> >- struct list_head *head = &q->queue_head;
> >+ struct list_head *head;
> > int latency;
> > elevator_t *elevator = &q->elevator;
>
> head = &q->queue_head is a simple offset calculation in the request
> queue structure. Moving this into the spinlock won't change anything,
> since q->queue_head isn't a pointer that can change.

That's fine, but head is _re_assigned later. Grep for 'head =' and 'again'
in __make_request().

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Nov 30 2000 - 21:00:22 EST