]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/raid/raid1.h
bitmap.h: remove dead artifacts
[linux-2.6-omap-h63xx.git] / include / linux / raid / raid1.h
index 292b98f2b408dd375154c9bf24569c5289c0f6ee..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;
@@ -45,6 +44,8 @@ struct r1_private_data_s {
 
        spinlock_t              resync_lock;
        int                     nr_pending;
+       int                     nr_waiting;
+       int                     nr_queued;
        int                     barrier;
        sector_t                next_resync;
        int                     fullsync;  /* set to 1 if a full sync is needed,
@@ -52,11 +53,12 @@ struct r1_private_data_s {
                                            * Cleared when a sync completes.
                                            */
 
-       wait_queue_head_t       wait_idle;
-       wait_queue_head_t       wait_resume;
+       wait_queue_head_t       wait_barrier;
 
        struct pool_info        *poolinfo;
 
+       struct page             *tmppage;
+
        mempool_t *r1bio_pool;
        mempool_t *r1buf_pool;
 };
@@ -106,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
@@ -120,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