Patchwork [3.5.yuz,extended,stable] Patch "block: fix request_queue->flags initialization" has been added to staging queue

mail settings
Submitter Herton Ronaldo Krzesinski
Date Nov. 15, 2012, 5:47 a.m.
Message ID <>
Download mbox | patch
Permalink /patch/199143/
State New
Headers show


Herton Ronaldo Krzesinski - Nov. 15, 2012, 5:47 a.m.
This is a note to let you know that I have just added a patch titled

    block: fix request_queue->flags initialization

to the linux-3.5.y-queue branch of the 3.5.yuz extended stable tree 
which can be found at:;a=shortlog;h=refs/heads/linux-3.5.y-queue

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.5.yuz tree, see



From 402f4fdecbb296a7b77ba2dfefeb38fccbfb9779 Mon Sep 17 00:00:00 2001
From: Tejun Heo <>
Date: Thu, 20 Sep 2012 14:09:30 -0700
Subject: [PATCH] block: fix request_queue->flags initialization

commit 60ea8226cbd5c8301f9a39edc574ddabcb8150e0 upstream.

A queue newly allocated with blk_alloc_queue_node() has only
QUEUE_FLAG_BYPASS set.  For request-based drivers,
blk_init_allocated_queue() is called and q->queue_flags is overwritten
with QUEUE_FLAG_DEFAULT which doesn't include BYPASS even though the
initial bypass is still in effect.

In blk_init_allocated_queue(), or QUEUE_FLAG_DEFAULT to q->queue_flags
instead of overwriting.

Signed-off-by: Tejun Heo <>
Acked-by: Vivek Goyal <>
Signed-off-by: Jens Axboe <>
Signed-off-by: Herton Ronaldo Krzesinski <>
 block/blk-core.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



diff --git a/block/blk-core.c b/block/blk-core.c
index 96335a7..e17ce4b 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -686,7 +686,7 @@  blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn,
 	q->request_fn		= rfn;
 	q->prep_rq_fn		= NULL;
 	q->unprep_rq_fn		= NULL;
-	q->queue_flags		= QUEUE_FLAG_DEFAULT;
+	q->queue_flags		|= QUEUE_FLAG_DEFAULT;

 	/* Override internal queue lock with supplied lock pointer */
 	if (lock)