diff options
| author | NeilBrown <neilb@suse.de> | 2006-03-27 01:18:02 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-27 08:45:00 -0800 | 
| commit | 89e5c8b5b85d6d46e8a28cdfa076313ae691d35c (patch) | |
| tree | 61ef0df8f33900f926d6ebd81f295063cb0601b3 | |
| parent | a22c96c737a9cefbe8d6e991c0032ad6db825a67 (diff) | |
[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 <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| -rw-r--r-- | block/ll_rw_blk.c | 2 | ||||
| -rw-r--r-- | drivers/md/md.c | 1 | 
2 files changed, 3 insertions, 0 deletions
| diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index 062067fa7ea..a2e333ad0b6 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 bde3e968225..3254ff1a5cc 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); | 
