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 |
