diff options
author | NeilBrown <neilb@suse.de> | 2012-03-18 21:46:39 -0400 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2012-03-18 21:46:39 -0400 |
commit | ba13da47ffa202784355561f72160a41350e95cc (patch) | |
tree | 9b60f27ab89e4036df65d0dc3bf52b7420f83a50 /drivers/md/raid0.h | |
parent | dafb20fa34320a472deb7442f25a0c086e0feb33 (diff) |
md: add proper merge_bvec handling to RAID0 and Linear.
These personalities currently set a max request size of one page
when any member device has a merge_bvec_fn because they don't
bother to call that function.
This causes extra works in splitting and combining requests.
So make the extra effort to call the merge_bvec_fn when it exists
so that we end up with larger requests out the bottom.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/raid0.h')
-rw-r--r-- | drivers/md/raid0.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/md/raid0.h b/drivers/md/raid0.h index 0884bba8df4c..05539d9c97f0 100644 --- a/drivers/md/raid0.h +++ b/drivers/md/raid0.h | |||
@@ -4,13 +4,16 @@ | |||
4 | struct strip_zone { | 4 | struct strip_zone { |
5 | sector_t zone_end; /* Start of the next zone (in sectors) */ | 5 | sector_t zone_end; /* Start of the next zone (in sectors) */ |
6 | sector_t dev_start; /* Zone offset in real dev (in sectors) */ | 6 | sector_t dev_start; /* Zone offset in real dev (in sectors) */ |
7 | int nb_dev; /* # of devices attached to the zone */ | 7 | int nb_dev; /* # of devices attached to the zone */ |
8 | }; | 8 | }; |
9 | 9 | ||
10 | struct r0conf { | 10 | struct r0conf { |
11 | struct strip_zone *strip_zone; | 11 | struct strip_zone *strip_zone; |
12 | struct md_rdev **devlist; /* lists of rdevs, pointed to by strip_zone->dev */ | 12 | struct md_rdev **devlist; /* lists of rdevs, pointed to |
13 | int nr_strip_zones; | 13 | * by strip_zone->dev */ |
14 | int nr_strip_zones; | ||
15 | int has_merge_bvec; /* at least one member has | ||
16 | * a merge_bvec_fn */ | ||
14 | }; | 17 | }; |
15 | 18 | ||
16 | #endif | 19 | #endif |