]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - md_p.h
add macros for MD_DISK_ROLE_(SPARE/FAULTY)
[thirdparty/mdadm.git] / md_p.h
diff --git a/md_p.h b/md_p.h
index 4594a36a89ff90217c6f0d9fbfcd87e3326c458e..3a3b8af0245a895ed34fcdd0ce3c4dcee4440c39 100644 (file)
--- a/md_p.h
+++ b/md_p.h
 #define MD_DISK_ACTIVE         1 /* disk is running but may not be in sync */
 #define MD_DISK_SYNC           2 /* disk is in sync with the raid set */
 #define MD_DISK_REMOVED                3 /* disk is in sync with the raid set */
+#define MD_DISK_CLUSTER_ADD    4 /* Initiate a disk add across the cluster
+                                  * For clustered enviroments only.
+                                  */
+#define MD_DISK_CANDIDATE      5 /* disk is added as spare (local) until confirmed
+                                  * For clustered enviroments only.
+                                  */
 
 #define        MD_DISK_WRITEMOSTLY     9 /* disk is "write-mostly" is RAID1 config.
                                   * read requests will only be sent here in
                                   * dire need
                                   */
 
+#define MD_DISK_REPLACEMENT    17
+
+#define MD_DISK_ROLE_SPARE     0xffff
+#define MD_DISK_ROLE_FAULTY    0xfffe
+#define MD_DISK_ROLE_MAX       0xff00 /* max value of regular disk role */
+
 typedef struct mdp_device_descriptor_s {
        __u32 number;           /* 0 Device number in the entire set          */
        __u32 major;            /* 1 Device major number                      */
@@ -100,14 +112,18 @@ typedef struct mdp_device_descriptor_s {
  */
 #define MD_SB_CLEAN            0
 #define MD_SB_ERRORS           1
-
+#define MD_SB_BBM_ERRORS       2
+#define MD_SB_BLOCK_CONTAINER_RESHAPE 3 /* block container wide reshapes */
+#define MD_SB_BLOCK_VOLUME     4 /* block activation of array, other arrays
+                                  * in container can be activated */
+#define MD_SB_CLUSTERED                5 /* MD is clustered  */
 #define        MD_SB_BITMAP_PRESENT    8 /* bitmap may be present nearby */
 
 typedef struct mdp_superblock_s {
        /*
         * Constant generic information
         */
-       __u32 md_magic;         /*  0 MD identifier                           */
+       __u32 md_magic;         /*  0 MD identifier                           */
        __u32 major_version;    /*  1 major version to which the set conforms */
        __u32 minor_version;    /*  2 minor version ...                       */
        __u32 patch_version;    /*  3 patchlevel version ...                  */
@@ -191,4 +207,3 @@ static inline __u64 md_event(mdp_super_t *sb) {
 }
 
 #endif
-