On Mon, Oct 20 2003, Nick Piggin wrote:
Andrew Morton wrote:
Peter Osterlund <petero2@xxxxxxxxx> wrote:Thanks for the report, Peter.
I was running 2.6.0-test8 compiled with CONFIG_DEBUG_SLAB=y. Whendeadline seems to have the same problem.
testing the CDRW packet writing driver, I got an oops in
as_latter_request. (Full oops at the end of this message.) It is
repeatable and happens because arq->rb_node.rb_right is uninitialized.
We may as well squish this with the big hammer?
The request is a special request, so either blk_attempt_remerge should
never be called on it, or blk_attempt_remerge (or as_latter_request) should
check for this. Its up to Jens.
I would say to stick something like
if (!rq_mergeable(rq))
return;
into blk_attempt_remerge.
I'd say we shouldn't expect drivers to try to get this right.
attempt_merge() already includes such a check. To me it looks really
buggy that elv_latter_request() cannot be called on non-fs requests, I'd
rather get that fixed like Peter suggests. elv_latter_request() should
work on all requests in the io sched queue, period.