Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
[deliverable/linux.git] / drivers / md / md.h
index 75b9aaacb03f197a2ae6b4ae25a716ee1d1bca53..b5c4be73e6e425ead8cca186abdd100e735326e0 100644 (file)
@@ -162,6 +162,7 @@ enum flag_bits {
                                 * Usually, this device should be faster
                                 * than other devices in the array
                                 */
+       ClusterRemove,
 };
 
 static inline int is_badblock(struct md_rdev *rdev, sector_t s, int sectors,
@@ -200,6 +201,9 @@ struct mddev {
                                 */
 #define MD_JOURNAL_CLEAN 5     /* A raid with journal is already clean */
 #define MD_HAS_JOURNAL 6       /* The raid array has journal feature set */
+#define MD_RELOAD_SB   7       /* Reload the superblock because another node
+                                * updated it.
+                                */
 
        int                             suspended;
        atomic_t                        active_io;
@@ -208,8 +212,6 @@ struct mddev {
                                                       * are happening, so run/
                                                       * takeover/stop are not safe
                                                       */
-       int                             ready; /* See when safe to pass
-                                               * IO requests down */
        struct gendisk                  *gendisk;
 
        struct kobject                  kobj;
@@ -226,7 +228,7 @@ struct mddev {
                                                         * managed externally */
        char                            metadata_type[17]; /* externally set*/
        int                             chunk_sectors;
-       time_t                          ctime, utime;
+       time64_t                        ctime, utime;
        int                             level, layout;
        char                            clevel[16];
        int                             raid_disks;
@@ -430,6 +432,7 @@ struct mddev {
        struct work_struct event_work;  /* used by dm to report failure event */
        void (*sync_super)(struct mddev *mddev, struct md_rdev *rdev);
        struct md_cluster_info          *cluster_info;
+       unsigned int                    good_device_nr; /* good device num within cluster raid */
 };
 
 static inline int __must_check mddev_lock(struct mddev *mddev)
@@ -623,7 +626,7 @@ extern void md_wait_for_blocked_rdev(struct md_rdev *rdev, struct mddev *mddev);
 extern void md_set_array_sectors(struct mddev *mddev, sector_t array_sectors);
 extern int md_check_no_bitmap(struct mddev *mddev);
 extern int md_integrity_register(struct mddev *mddev);
-extern void md_integrity_add_rdev(struct md_rdev *rdev, struct mddev *mddev);
+extern int md_integrity_add_rdev(struct md_rdev *rdev, struct mddev *mddev);
 extern int strict_strtoul_scaled(const char *cp, unsigned long *res, int scale);
 
 extern void mddev_init(struct mddev *mddev);
This page took 0.029589 seconds and 5 git commands to generate.