X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fmdadm.git;a=blobdiff_plain;f=mdadm.h;h=90d3a094712d8d27f68423c4a84f2c998309d940;hp=6c6cc7fe450890a2dc716d0243cbffc9baf78e2b;hb=dd0781e50555c32ff2f808ec46f4b03a5693ea47;hpb=98c6faba80e6db0693f99faf5c6525ef4f1fb680 diff --git a/mdadm.h b/mdadm.h index 6c6cc7fe..90d3a094 100644 --- a/mdadm.h +++ b/mdadm.h @@ -55,6 +55,7 @@ char *strncpy(char *dest, const char *src, size_t n) __THROW; #include #include #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; @@ -135,8 +139,9 @@ struct mdstat_ent { 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,6 +156,7 @@ 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); @@ -165,7 +171,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 +196,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);