Does this make any difference...?
--- drivers/block/deadline-iosched.c~ 2003-05-28 10:46:38.678240272 +0200
+++ drivers/block/deadline-iosched.c 2003-05-28 10:43:13.994356952 +0200
@@ -121,6 +121,15 @@
__deadline_del_drq_hash(drq);
}
+static void
+deadline_remove_merge_hints(request_queue_t *q, struct deadline_rq *drq)
+{
+ deadline_del_drq_hash(drq);
+
+ if (q->last_merge == &drq->request->queuelist)
+ q->last_merge = NULL;
+}
+
static inline void
deadline_add_drq_hash(struct deadline_data *dd, struct deadline_rq *drq)
{
@@ -310,7 +319,7 @@
struct deadline_data *dd = q->elevator.elevator_data;
list_del_init(&drq->fifo);
- deadline_del_drq_hash(drq);
+ deadline_remove_merge_hints(q, drq);
deadline_del_drq_rb(dd, drq);
}
}
-- Jens Axboe- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/