diff options
Diffstat (limited to 'drivers/md/raid10.h')
-rw-r--r-- | drivers/md/raid10.h | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/drivers/md/raid10.h b/drivers/md/raid10.h index 135b1b0a1554..007c2c68dd83 100644 --- a/drivers/md/raid10.h +++ b/drivers/md/raid10.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef _RAID10_H | 1 | #ifndef _RAID10_H |
2 | #define _RAID10_H | 2 | #define _RAID10_H |
3 | 3 | ||
4 | struct mirror_info { | 4 | struct raid10_info { |
5 | struct md_rdev *rdev, *replacement; | 5 | struct md_rdev *rdev, *replacement; |
6 | sector_t head_position; | 6 | sector_t head_position; |
7 | int recovery_disabled; /* matches | 7 | int recovery_disabled; /* matches |
@@ -13,8 +13,8 @@ struct mirror_info { | |||
13 | 13 | ||
14 | struct r10conf { | 14 | struct r10conf { |
15 | struct mddev *mddev; | 15 | struct mddev *mddev; |
16 | struct mirror_info *mirrors; | 16 | struct raid10_info *mirrors; |
17 | struct mirror_info *mirrors_new, *mirrors_old; | 17 | struct raid10_info *mirrors_new, *mirrors_old; |
18 | spinlock_t device_lock; | 18 | spinlock_t device_lock; |
19 | 19 | ||
20 | /* geometry */ | 20 | /* geometry */ |
@@ -123,20 +123,6 @@ struct r10bio { | |||
123 | } devs[0]; | 123 | } devs[0]; |
124 | }; | 124 | }; |
125 | 125 | ||
126 | /* when we get a read error on a read-only array, we redirect to another | ||
127 | * device without failing the first device, or trying to over-write to | ||
128 | * correct the read error. To keep track of bad blocks on a per-bio | ||
129 | * level, we store IO_BLOCKED in the appropriate 'bios' pointer | ||
130 | */ | ||
131 | #define IO_BLOCKED ((struct bio*)1) | ||
132 | /* When we successfully write to a known bad-block, we need to remove the | ||
133 | * bad-block marking which must be done from process context. So we record | ||
134 | * the success by setting devs[n].bio to IO_MADE_GOOD | ||
135 | */ | ||
136 | #define IO_MADE_GOOD ((struct bio *)2) | ||
137 | |||
138 | #define BIO_SPECIAL(bio) ((unsigned long)bio <= 2) | ||
139 | |||
140 | /* bits for r10bio.state */ | 126 | /* bits for r10bio.state */ |
141 | enum r10bio_state { | 127 | enum r10bio_state { |
142 | R10BIO_Uptodate, | 128 | R10BIO_Uptodate, |
@@ -159,4 +145,7 @@ enum r10bio_state { | |||
159 | */ | 145 | */ |
160 | R10BIO_Previous, | 146 | R10BIO_Previous, |
161 | }; | 147 | }; |
148 | |||
149 | extern int md_raid10_congested(struct mddev *mddev, int bits); | ||
150 | |||
162 | #endif | 151 | #endif |