]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - mdadm.h
mdmon: pass symbolic name to mdmon instead of device name.
[thirdparty/mdadm.git] / mdadm.h
diff --git a/mdadm.h b/mdadm.h
index 541c43418a5529918df0b0dd5ff9df1534510e80..f7fd53e5cde6be193733c8e39a0a86aa709e1d69 100644 (file)
--- a/mdadm.h
+++ b/mdadm.h
@@ -278,6 +278,8 @@ typedef struct mddev_dev_s {
        char writemostly;       /* 1 for 'set writemostly', 2 for 'clear writemostly' */
        char re_add;
        char used;              /* set when used */
+       struct mdinfo *content; /* If devname is a container, this might list
+                                * the remaining member arrays. */
        struct mddev_dev_s *next;
 } *mddev_dev_t;
 
@@ -313,12 +315,14 @@ struct map_ent {
        int     devnum;
        char    metadata[20];
        int     uuid[4];
+       int     bad;
        char    *path;
 };
 extern int map_update(struct map_ent **mpp, int devnum, char *metadata,
                      int uuid[4], char *path);
 extern struct map_ent *map_by_uuid(struct map_ent **map, int uuid[4]);
-struct map_ent *map_by_devnum(struct map_ent **map, int devnum);
+extern struct map_ent *map_by_devnum(struct map_ent **map, int devnum);
+extern struct map_ent *map_by_name(struct map_ent **map, char *name);
 extern void map_read(struct map_ent **melp);
 extern int map_write(struct map_ent *mel);
 extern void map_delete(struct map_ent **mapp, int devnum);
@@ -630,7 +634,6 @@ struct supertype {
                        *  external:/md0/12
                        */
        int devcnt;
-       char *device_name; /* e.g. /dev/md/whatever */
 
        struct mdinfo *devs;
 
@@ -642,6 +645,7 @@ extern struct supertype *dup_super(struct supertype *st);
 extern int get_dev_size(int fd, char *dname, unsigned long long *sizep);
 extern void get_one_disk(int mdfd, mdu_array_info_t *ainf,
                         mdu_disk_info_t *disk);
+void wait_for(char *dev);
 
 #if __GNUC__ < 3
 struct stat64;
@@ -756,8 +760,10 @@ extern int check_raid(int fd, char *name);
 
 extern int get_mdp_major(void);
 extern int dev_open(char *dev, int flags);
+extern int open_dev(int devnum);
 extern int open_dev_excl(int devnum);
 extern int is_standard(char *dev, int *nump);
+extern int same_dev(char *one, char *two);
 
 extern int parse_auto(char *str, char *msg, int config);
 extern mddev_ident_t conf_get_ident(char *dev);
@@ -789,6 +795,9 @@ extern unsigned long long calc_array_size(int level, int raid_disks, int layout,
                                   int chunksize, unsigned long long devsize);
 extern int flush_metadata_updates(struct supertype *st);
 extern void append_metadata_update(struct supertype *st, void *buf, int len);
+extern int assemble_container_content(struct supertype *st, int mdfd,
+                                     struct mdinfo *content, int runstop,
+                                     char *chosen_name, int verbose);
 
 extern int add_disk(int mdfd, struct supertype *st,
                    struct mdinfo *sra, struct mdinfo *info);