diff options
-rw-r--r-- | drivers/md/raid1.c | 14 | ||||
-rw-r--r-- | drivers/md/raid1.h | 14 | ||||
-rw-r--r-- | drivers/md/raid10.c | 16 | ||||
-rw-r--r-- | drivers/md/raid10.h | 14 |
4 files changed, 29 insertions, 29 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 57d6abd497ef..d3d3568b4fb1 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c | |||
@@ -46,6 +46,20 @@ | |||
46 | */ | 46 | */ |
47 | #define NR_RAID1_BIOS 256 | 47 | #define NR_RAID1_BIOS 256 |
48 | 48 | ||
49 | /* when we get a read error on a read-only array, we redirect to another | ||
50 | * device without failing the first device, or trying to over-write to | ||
51 | * correct the read error. To keep track of bad blocks on a per-bio | ||
52 | * level, we store IO_BLOCKED in the appropriate 'bios' pointer | ||
53 | */ | ||
54 | #define IO_BLOCKED ((struct bio *)1) | ||
55 | /* When we successfully write to a known bad-block, we need to remove the | ||
56 | * bad-block marking which must be done from process context. So we record | ||
57 | * the success by setting devs[n].bio to IO_MADE_GOOD | ||
58 | */ | ||
59 | #define IO_MADE_GOOD ((struct bio *)2) | ||
60 | |||
61 | #define BIO_SPECIAL(bio) ((unsigned long)bio <= 2) | ||
62 | |||
49 | /* When there are this many requests queue to be written by | 63 | /* When there are this many requests queue to be written by |
50 | * the raid1 thread, we become 'congested' to provide back-pressure | 64 | * the raid1 thread, we become 'congested' to provide back-pressure |
51 | * for writeback. | 65 | * for writeback. |
diff --git a/drivers/md/raid1.h b/drivers/md/raid1.h index 6b49336575fe..4e3613daaea2 100644 --- a/drivers/md/raid1.h +++ b/drivers/md/raid1.h | |||
@@ -135,20 +135,6 @@ struct r1bio { | |||
135 | /* DO NOT PUT ANY NEW FIELDS HERE - bios array is contiguously alloced*/ | 135 | /* DO NOT PUT ANY NEW FIELDS HERE - bios array is contiguously alloced*/ |
136 | }; | 136 | }; |
137 | 137 | ||
138 | /* when we get a read error on a read-only array, we redirect to another | ||
139 | * device without failing the first device, or trying to over-write to | ||
140 | * correct the read error. To keep track of bad blocks on a per-bio | ||
141 | * level, we store IO_BLOCKED in the appropriate 'bios' pointer | ||
142 | */ | ||
143 | #define IO_BLOCKED ((struct bio *)1) | ||
144 | /* When we successfully write to a known bad-block, we need to remove the | ||
145 | * bad-block marking which must be done from process context. So we record | ||
146 | * the success by setting bios[n] to IO_MADE_GOOD | ||
147 | */ | ||
148 | #define IO_MADE_GOOD ((struct bio *)2) | ||
149 | |||
150 | #define BIO_SPECIAL(bio) ((unsigned long)bio <= 2) | ||
151 | |||
152 | /* bits for r1bio.state */ | 138 | /* bits for r1bio.state */ |
153 | #define R1BIO_Uptodate 0 | 139 | #define R1BIO_Uptodate 0 |
154 | #define R1BIO_IsSync 1 | 140 | #define R1BIO_IsSync 1 |
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index f9c4baa7964d..e77acf024055 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c | |||
@@ -60,7 +60,21 @@ | |||
60 | */ | 60 | */ |
61 | #define NR_RAID10_BIOS 256 | 61 | #define NR_RAID10_BIOS 256 |
62 | 62 | ||
63 | /* When there are this many requests queue to be written by | 63 | /* when we get a read error on a read-only array, we redirect to another |
64 | * device without failing the first device, or trying to over-write to | ||
65 | * correct the read error. To keep track of bad blocks on a per-bio | ||
66 | * level, we store IO_BLOCKED in the appropriate 'bios' pointer | ||
67 | */ | ||
68 | #define IO_BLOCKED ((struct bio *)1) | ||
69 | /* When we successfully write to a known bad-block, we need to remove the | ||
70 | * bad-block marking which must be done from process context. So we record | ||
71 | * the success by setting devs[n].bio to IO_MADE_GOOD | ||
72 | */ | ||
73 | #define IO_MADE_GOOD ((struct bio *)2) | ||
74 | |||
75 | #define BIO_SPECIAL(bio) ((unsigned long)bio <= 2) | ||
76 | |||
77 | /* When there are this many requests queued to be written by | ||
64 | * the raid10 thread, we become 'congested' to provide back-pressure | 78 | * the raid10 thread, we become 'congested' to provide back-pressure |
65 | * for writeback. | 79 | * for writeback. |
66 | */ | 80 | */ |
diff --git a/drivers/md/raid10.h b/drivers/md/raid10.h index ecdb440b003a..b0a435869dca 100644 --- a/drivers/md/raid10.h +++ b/drivers/md/raid10.h | |||
@@ -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, |