summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJens Axboe <axboe@suse.de>2005-10-31 09:23:54 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-31 07:46:28 -0800
commit581c1b14394aee60aff46ea67d05483261ed6527 (patch)
tree6b269000a4b5bbcdc0edcfdf615851c9de0d412a /drivers
parent4fc207419d95e0e16fdc78e2f48f7c0b3640ffe5 (diff)
downloadlinux-0-day-581c1b14394aee60aff46ea67d05483261ed6527.tar.gz
linux-0-day-581c1b14394aee60aff46ea67d05483261ed6527.tar.xz
[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')
-rw-r--r--drivers/block/noop-iosched.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/noop-iosched.c b/drivers/block/noop-iosched.c
index f56b8edb06e42..e54f006e7e603 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);
}