Merge branch 'v2.6.36-rc8' into for-2.6.37/barrier
[linux-3.10.git] / drivers / md / md.h
index 3931299..112a2c3 100644 (file)
@@ -87,7 +87,6 @@ struct mdk_rdev_s
 #define        Faulty          1               /* device is known to have a fault */
 #define        In_sync         2               /* device is in_sync with rest of array */
 #define        WriteMostly     4               /* Avoid reading if at all possible */
-#define        BarriersNotsupp 5               /* REQ_HARDBARRIER is not supported */
 #define        AllReserved     6               /* If whole device is reserved for
                                         * one array */
 #define        AutoDetected    7               /* added by auto-detect */
@@ -273,13 +272,6 @@ struct mddev_s
        int                             degraded;       /* whether md should consider
                                                         * adding a spare
                                                         */
-       int                             barriers_work;  /* initialised to true, cleared as soon
-                                                        * as a barrier request to slave
-                                                        * fails.  Only supported
-                                                        */
-       struct bio                      *biolist;       /* bios that need to be retried
-                                                        * because REQ_HARDBARRIER is not supported
-                                                        */
 
        atomic_t                        recovery_active; /* blocks scheduled, but not written */
        wait_queue_head_t               recovery_wait;
@@ -339,16 +331,13 @@ struct mddev_s
        struct attribute_group          *to_remove;
        struct plug_handle              *plug; /* if used by personality */
 
-       /* Generic barrier handling.
-        * If there is a pending barrier request, all other
-        * writes are blocked while the devices are flushed.
-        * The last to finish a flush schedules a worker to
-        * submit the barrier request (without the barrier flag),
-        * then submit more flush requests.
+       /* Generic flush handling.
+        * The last to finish preflush schedules a worker to submit
+        * the rest of the request (without the REQ_FLUSH flag).
         */
-       struct bio *barrier;
+       struct bio *flush_bio;
        atomic_t flush_pending;
-       struct work_struct barrier_work;
+       struct work_struct flush_work;
        struct work_struct event_work;  /* used by dm to report failure event */
 };
 
@@ -502,7 +491,7 @@ extern void md_done_sync(mddev_t *mddev, int blocks, int ok);
 extern void md_error(mddev_t *mddev, mdk_rdev_t *rdev);
 
 extern int mddev_congested(mddev_t *mddev, int bits);
-extern void md_barrier_request(mddev_t *mddev, struct bio *bio);
+extern void md_flush_request(mddev_t *mddev, struct bio *bio);
 extern void md_super_write(mddev_t *mddev, mdk_rdev_t *rdev,
                           sector_t sector, int size, struct page *page);
 extern void md_super_wait(mddev_t *mddev);