Merge branch 'v2.6.36-rc8' into for-2.6.37/barrier
[firefly-linux-kernel-4.4.55.git] / drivers / md / raid5.h
index 0f86f5e367245da614c99fc0b510777ed5789fec..2ace0582b4098f102cb294aac4355c025ad4723e 100644 (file)
@@ -275,6 +275,7 @@ struct r6_state {
                                    * filling
                                    */
 #define R5_Wantdrain   13 /* dev->towrite needs to be drained */
+#define R5_WantFUA     14      /* Write should be FUA */
 /*
  * Write method
  */
@@ -388,7 +389,7 @@ struct raid5_private_data {
         * two caches.
         */
        int                     active_name;
-       char                    cache_name[2][20];
+       char                    cache_name[2][32];
        struct kmem_cache               *slab_cache; /* for allocating stripes */
 
        int                     seq_flush, seq_write;
@@ -398,6 +399,9 @@ struct raid5_private_data {
                                            * (fresh device added).
                                            * Cleared when a sync completes.
                                            */
+
+       struct plug_handle      plug;
+
        /* per cpu variables */
        struct raid5_percpu {
                struct page     *spare_page; /* Used when checking P/Q in raid6 */
@@ -497,4 +501,8 @@ static inline int algorithm_is_DDF(int layout)
 {
        return layout >= 8 && layout <= 10;
 }
+
+extern int md_raid5_congested(mddev_t *mddev, int bits);
+extern void md_raid5_unplug_device(raid5_conf_t *conf);
+extern int raid5_set_cache_size(mddev_t *mddev, int size);
 #endif