]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - mdadm.h
handle Manage_subdevs() for 'external' arrays
[thirdparty/mdadm.git] / mdadm.h
diff --git a/mdadm.h b/mdadm.h
index 4c0e9e16a636a72ebfc7d141b47895ba071cea6c..64f41fd0285e62c2c9b283b6b69f9df54323b3d5 100644 (file)
--- a/mdadm.h
+++ b/mdadm.h
@@ -76,6 +76,7 @@ extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence));
 #include       "md_u.h"
 #include       "md_p.h"
 #include       "bitmap.h"
+#include       "msg.h"
 
 #include <endian.h>
 /* Redhat don't like to #include <asm/byteorder.h>, and
@@ -147,11 +148,13 @@ struct mdinfo {
                                                 */
        int                     reshape_active;
        unsigned long long      reshape_progress;
+       unsigned long long      resync_start;
        int                     new_level, delta_disks, new_layout, new_chunk;
        int                     errors;
        int                     cache_size; /* size of raid456 stripe cache*/
        int                     mismatch_cnt;
        char                    text_version[50];
+       int container_member; /* for assembling external-metatdata arrays */
 
        char            sys_name[20];
        struct mdinfo *devs;
@@ -393,14 +396,19 @@ extern struct superswitch {
        int external;
 } super0, super1, super_ddf, super_ddf_bvd, super_ddf_svd, *superlist[];
 
+extern struct superswitch super_imsm, super_imsm_raid;
+
 struct supertype {
        struct superswitch *ss;
        int minor_version;
        int max_devs;
+       int container_dev;    /* devnum of container */
+       int container_member; /* numerical position in container */
        void *sb;
        void *info;
 };
 
+extern struct supertype supertype_container_member;
 extern struct supertype *super_by_fd(int fd);
 extern struct supertype *guess_super(int fd);
 extern struct supertype *dup_super(struct supertype *st);
@@ -563,6 +571,8 @@ extern int open_mddev_devnum(char *devname, int devnum, char *name,
                             char *chosen_name, int parts);
 extern int open_container(int fd);
 
+extern char *devnum2devname(int num);
+extern int fd2devnum(int fd);
 
 #define        LEVEL_MULTIPATH         (-4)
 #define        LEVEL_LINEAR            (-1)