]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - mdadm.h
mdadm-1.7.0
[thirdparty/mdadm.git] / mdadm.h
diff --git a/mdadm.h b/mdadm.h
index 6c6cc7fe450890a2dc716d0243cbffc9baf78e2b..831e26716fa3d67f9076528f21b9003750d489ee 100644 (file)
--- a/mdadm.h
+++ b/mdadm.h
@@ -55,6 +55,7 @@ char *strncpy(char *dest, const char *src, size_t n) __THROW;
 #include       <asm/types.h>
 #include       <sys/ioctl.h>
 #define        MD_MAJOR 9
+#define MdpMinorShift 6
 
 #ifndef BLKGETSIZE64
 #define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return device size in bytes (u64 *arg) */
@@ -73,12 +74,13 @@ enum mode {
        MANAGE,
        MISC,
        MONITOR,
+       GROW,
 };
 
 extern char short_options[];
 extern struct option long_options[];
 extern char Version[], Usage[], Help[], OptionHelp[],
-       Help_create[], Help_build[], Help_assemble[],
+       Help_create[], Help_build[], Help_assemble[], Help_grow[],
        Help_manage[], Help_misc[], Help_monitor[], Help_config[];
 
 /* structures read from config file */
@@ -93,20 +95,22 @@ extern char Version[], Usage[], Help[], OptionHelp[],
  */
 #define UnSet (0xfffe)
 typedef struct mddev_ident_s {
-       char *devname;
+       char    *devname;
        
-       int uuid_set;
-       __u32 uuid[4];
+       int     uuid_set;
+       __u32   uuid[4];
 
        unsigned int super_minor;
 
-       char *devices;          /* comma separated list of device
+       char    *devices;       /* comma separated list of device
                                 * names with wild cards
                                 */
-       int level;
+       int     level;
        unsigned int raid_disks;
        unsigned int spare_disks;
-       char *spare_group;
+       int     autof;          /* 1 for normal, 2 for partitioned */
+       char    *spare_group;
+
        struct mddev_ident_s *next;
 } *mddev_ident_t;
 
@@ -132,11 +136,13 @@ struct mdstat_ent {
        char            *level;
        char            *pattern; /* U or up, _ for down */
        int             percent; /* -1 if no resync */
+       int             resync; /* 1 if resync, 0 if recovery */
        struct mdstat_ent *next;
 };
 
-extern struct mdstat_ent *mdstat_read(void);
+extern struct mdstat_ent *mdstat_read(int);
 extern void free_mdstat(struct mdstat_ent *ms);
+extern void mdstat_wait(int seconds);
 
 #ifndef Sendmail
 #define Sendmail "/usr/lib/sendmail -t"
@@ -151,8 +157,10 @@ extern char *map_dev(int major, int minor);
 
 extern int Manage_ro(char *devname, int fd, int readonly);
 extern int Manage_runstop(char *devname, int fd, int runstop);
+extern int Manage_resize(char *devname, int fd, long long size, int raid_disks);
 extern int Manage_subdevs(char *devname, int fd,
                          mddev_dev_t devlist);
+extern int Grow_Add_device(char *devname, int fd, char *newdev);
 
 
 extern int Assemble(char *mddev, int mdfd,
@@ -165,7 +173,7 @@ extern int Assemble(char *mddev, int mdfd,
 
 extern int Build(char *mddev, int mdfd, int chunk, int level,
                 int raiddisks,
-                mddev_dev_t devlist);
+                mddev_dev_t devlist, int assume_clean);
 
 
 extern int Create(char *mddev, int mdfd,
@@ -190,6 +198,10 @@ extern int check_ext2(int fd, char *name);
 extern int check_reiser(int fd, char *name);
 extern int check_raid(int fd, char *name);
 
+extern int get_mdp_major(void);
+extern int is_standard(char *dev);
+
+
 extern mddev_ident_t conf_get_ident(char *conffile, char *dev);
 extern mddev_dev_t conf_get_devs(char *conffile);
 extern char *conf_get_mailaddr(char *conffile);