]> Pileus Git - ~andy/linux/blobdiff - include/linux/raid/raid1.h
Merge branches 'pxa' and 'orion-fixes1'
[~andy/linux] / include / linux / raid / raid1.h
index cbe4238d3f9fd2f3be46bc5f5339919a00a44cd2..0a9ba7c3302e2393e881244983a3397807e29dfb 100644 (file)
@@ -30,7 +30,6 @@ struct r1_private_data_s {
        mddev_t                 *mddev;
        mirror_info_t           *mirrors;
        int                     raid_disks;
-       int                     working_disks;
        int                     last_used;
        sector_t                next_seq_sect;
        spinlock_t              device_lock;
@@ -109,6 +108,13 @@ struct r1bio_s {
        /* DO NOT PUT ANY NEW FIELDS HERE - bios array is contiguously alloced*/
 };
 
+/* when we get a read error on a read-only array, we redirect to another
+ * device without failing the first device, or trying to over-write to
+ * correct the read error.  To keep track of bad blocks on a per-bio
+ * level, we store IO_BLOCKED in the appropriate 'bios' pointer
+ */
+#define IO_BLOCKED ((struct bio*)1)
+
 /* bits for r1bio.state */
 #define        R1BIO_Uptodate  0
 #define        R1BIO_IsSync    1
@@ -123,6 +129,6 @@ struct r1bio_s {
  * with failure when last write completes (and all failed).
  * Record that bi_end_io was called with this flag...
  */
-#define        R1BIO_Returned 4
+#define        R1BIO_Returned 6
 
 #endif