From: NeilBrown Date: Mon, 27 Mar 2006 09:18:02 +0000 (-0800) Subject: [PATCH] md: Make sure QUEUE_FLAG_CLUSTER is set properly for md. X-Git-Tag: v2.6.17-rc1~297 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=89e5c8b5b85d6d46e8a28cdfa076313ae691d35c;p=linux-2.6 [PATCH] md: Make sure QUEUE_FLAG_CLUSTER is set properly for md. This flag should be set for a virtual device iff it is set for all underlying devices. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index 062067fa7e..a2e333ad0b 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c @@ -785,6 +785,8 @@ void blk_queue_stack_limits(request_queue_t *t, request_queue_t *b) t->max_hw_segments = min(t->max_hw_segments,b->max_hw_segments); t->max_segment_size = min(t->max_segment_size,b->max_segment_size); t->hardsect_size = max(t->hardsect_size,b->hardsect_size); + if (!test_bit(QUEUE_FLAG_CLUSTER, &b->queue_flags)) + clear_bit(QUEUE_FLAG_CLUSTER, &t->queue_flags); } EXPORT_SYMBOL(blk_queue_stack_limits); diff --git a/drivers/md/md.c b/drivers/md/md.c index bde3e96822..3254ff1a5c 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -266,6 +266,7 @@ static mddev_t * mddev_find(dev_t unit) kfree(new); return NULL; } + set_bit(QUEUE_FLAG_CLUSTER, &new->queue->queue_flags); blk_queue_make_request(new->queue, md_fail_request);