--- drivers/block/ll_rw_blk.c~ Fri Nov 3 03:22:25 2000 +++ drivers/block/ll_rw_blk.c Fri Nov 3 03:23:24 2000 @@ -455,35 +455,17 @@ struct list_head *list = &q->request_freelist[rw]; struct request *rq; - /* - * Reads get preferential treatment and are allowed to steal - * from the write free list if necessary. - */ if (!list_empty(list)) { rq = blkdev_free_rq(list); - goto got_rq; - } - - /* - * if the WRITE list is non-empty, we know that rw is READ - * and that the READ list is empty. allow reads to 'steal' - * from the WRITE list. - */ - if (!list_empty(&q->request_freelist[WRITE])) { - list = &q->request_freelist[WRITE]; - rq = blkdev_free_rq(list); - goto got_rq; + list_del(&rq->table); + rq->free_list = list; + rq->rq_status = RQ_ACTIVE; + rq->special = NULL; + rq->q = q; + return rq; } return NULL; - -got_rq: - list_del(&rq->table); - rq->free_list = list; - rq->rq_status = RQ_ACTIVE; - rq->special = NULL; - rq->q = q; - return rq; } /*