]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - mdadm.h
more ddf stuff
[thirdparty/mdadm.git] / mdadm.h
diff --git a/mdadm.h b/mdadm.h
index 3583e239d9fec940e1d5129b604c54331af80ad2..73881e2deed7801024d20e49b1f8660965f717e3 100644 (file)
--- a/mdadm.h
+++ b/mdadm.h
@@ -358,10 +358,10 @@ extern struct superswitch {
        int (*init_super)(struct supertype *st, mdu_array_info_t *info,
                          unsigned long long size, char *name,
                          char *homehost, int *uuid);
-       void (*add_to_super)(struct supertype *st, mdu_disk_info_t *dinfo);
+       void (*add_to_super)(struct supertype *st, mdu_disk_info_t *dinfo,
+                            int fd, char *devname);
        int (*store_super)(struct supertype *st, int fd);
-       int (*write_init_super)(struct supertype *st, mdu_disk_info_t *dinfo,
-                               char *devname);
+       int (*write_init_super)(struct supertype *st);
        int (*compare_super)(struct supertype *st, struct supertype *tst);
        int (*load_super)(struct supertype *st, int fd, char *devname);
        struct supertype * (*match_metadata_desc)(char *arg);
@@ -377,14 +377,17 @@ extern struct superswitch {
                                 int chunk, unsigned long long size,
                                 char *subdev, unsigned long long *freesize);
        int major;
+       char *text_version;
        int swapuuid; /* true if uuid is bigending rather than hostendian */
-} super0, super1, *superlist[];
+       int external;
+} super0, super1, super_ddf, super_ddf_bvd, super_ddf_svd, *superlist[];
 
 struct supertype {
        struct superswitch *ss;
        int minor_version;
        int max_devs;
        void *sb;
+       void *info;
 };
 
 extern struct supertype *super_by_fd(int fd);
@@ -477,7 +480,7 @@ extern int Monitor(mddev_dev_t devlist,
                   int period, int daemonise, int scan, int oneshot,
                   int dosyslog, int test, char *pidfile);
 
-extern int Kill(char *dev, int force, int quiet);
+extern int Kill(char *dev, int force, int quiet, int noexcl);
 extern int Wait(char *dev);
 
 extern int Incremental(char *devname, int verbose, int runstop,
@@ -527,6 +530,8 @@ extern int enough(int level, int raid_disks, int layout, int clean,
 extern int ask(char *mesg);
 extern unsigned long long get_component_size(int fd);
 extern void remove_partitions(int fd);
+extern unsigned long long calc_array_size(int level, int raid_disks, int layout,
+                                  int chunksize, unsigned long long devsize);
 
 
 extern char *human_size(long long bytes);
@@ -543,6 +548,7 @@ extern char DefaultConfFile[];
 extern int open_mddev(char *dev, int autof);
 extern int open_mddev_devnum(char *devname, int devnum, char *name,
                             char *chosen_name, int parts);
+extern int open_container(int fd);
 
 
 #define        LEVEL_MULTIPATH         (-4)
@@ -551,6 +557,7 @@ extern int open_mddev_devnum(char *devname, int devnum, char *name,
 
 /* kernel module doesn't know about these */
 #define LEVEL_CONTAINER                (-100)
+#define        LEVEL_UNSUPPORTED       (-200)
 
 
 /* faulty stuff */