diff options
author | Jens Axboe <axboe@suse.de> | 2005-10-31 09:23:54 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-31 07:46:28 -0800 |
commit | 581c1b14394aee60aff46ea67d05483261ed6527 (patch) | |
tree | 6b269000a4b5bbcdc0edcfdf615851c9de0d412a /drivers/block | |
parent | 4fc207419d95e0e16fdc78e2f48f7c0b3640ffe5 (diff) | |
download | op-kernel-dev-581c1b14394aee60aff46ea67d05483261ed6527.zip op-kernel-dev-581c1b14394aee60aff46ea67d05483261ed6527.tar.gz |
[PATCH] noop-iosched: avoid corrupted request merging
Tejun Heo notes:
"I'm currently debugging this. The problem is that we are using the
generic dispatch queue directly in the noop sched and merging is NOT
allowed on dispatch queues but generic handling of last_merge tries
to merge requests. I'm still trying to verify this, so I'll be back
with results soon."
In the meantime, disable merging for noop by setting REQ_NOMERGE in
elevator_noop_add_request().
Eventually, we should add a noop_list and do the dispatching like in the
other io schedulers. Merging is still beneficial for noop (and it has
always done it).
Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/noop-iosched.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/noop-iosched.c b/drivers/block/noop-iosched.c index f56b8ed..e54f006 100644 --- a/drivers/block/noop-iosched.c +++ b/drivers/block/noop-iosched.c @@ -9,6 +9,7 @@ static void elevator_noop_add_request(request_queue_t *q, struct request *rq) { + rq->flags |= REQ_NOMERGE; elv_dispatch_add_tail(q, rq); } |