X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fmdadm.git;a=blobdiff_plain;f=mdadm.h;h=8212a2c46f060215800d78cc693bc5dd7ea90009;hp=d9bb4c9c0052eb365e7193db59a6cea285676eeb;hb=aae5a11207cf6da1682e6a76e116a19e21473f03;hpb=061f2c6abd014c9f30ca2d784cb535e3e3452c65 diff --git a/mdadm.h b/mdadm.h index d9bb4c9c..8212a2c4 100644 --- a/mdadm.h +++ b/mdadm.h @@ -1,7 +1,7 @@ /* * mdadm - manage Linux "md" devices aka RAID arrays. * - * Copyright (C) 2001-2006 Neil Brown + * Copyright (C) 2001-2009 Neil Brown * * * This program is free software; you can redistribute it and/or modify @@ -19,12 +19,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Author: Neil Brown - * Email: - * Paper: Neil Brown - * School of Computer Science and Engineering - * The University of New South Wales - * Sydney, 2052 - * Australia + * Email: */ #define _GNU_SOURCE @@ -158,6 +153,11 @@ struct mdinfo { int cache_size; /* size of raid456 stripe cache*/ int mismatch_cnt; char text_version[50]; + void *update_private; /* for passing metadata-format + * specific update data + * between successive calls to + * update_super() + */ int container_member; /* for assembling external-metatdata arrays * This is to be used internally by metadata @@ -441,6 +441,7 @@ extern struct superswitch { */ void (*examine_super)(struct supertype *st, char *homehost); void (*brief_examine_super)(struct supertype *st, int verbose); + void (*brief_examine_subarrays)(struct supertype *st, int verbose); void (*export_examine_super)(struct supertype *st); /* Used to report details of an active array. @@ -724,13 +725,13 @@ extern int Assemble(struct supertype *st, char *mddev, mddev_ident_t ident, mddev_dev_t devlist, char *backup_file, int readonly, int runstop, - char *update, char *homehost, + char *update, char *homehost, int require_homehost, int verbose, int force); extern int Build(char *mddev, int chunk, int level, int layout, int raiddisks, mddev_dev_t devlist, int assume_clean, char *bitmap_file, int bitmap_chunk, int write_behind, - int delay, int verbose, int autof); + int delay, int verbose, int autof, unsigned long long size); extern int Create(struct supertype *st, char *mddev, @@ -755,7 +756,8 @@ extern int Wait(char *dev); extern int WaitClean(char *dev, int verbose); extern int Incremental(char *devname, int verbose, int runstop, - struct supertype *st, char *homehost, int autof); + struct supertype *st, char *homehost, int require_homehost, + int autof); extern int Incremental_container(struct supertype *st, char *devname, int verbose, int runstop, int autof, int trustworthy); @@ -795,15 +797,20 @@ extern void set_conffile(char *file); extern char *conf_get_mailaddr(void); extern char *conf_get_mailfrom(void); extern char *conf_get_program(void); -extern char *conf_get_homehost(void); +extern char *conf_get_homehost(int *require_homehostp); extern char *conf_line(FILE *file); extern char *conf_word(FILE *file, int allow_key); +extern int conf_name_is_free(char *name); +extern int devname_matches(char *name, char *match); +extern struct mddev_ident_s *conf_match(struct mdinfo *info, struct supertype *st); + extern void free_line(char *line); extern int match_oneof(char *devices, char *devname); extern void uuid_from_super(int uuid[4], mdp_super_t *super); extern const int uuid_match_any[4]; extern int same_uuid(int a[4], int b[4], int swapuuid); extern void copy_uuid(void *a, int b[4], int swapuuid); +extern char *__fname_from_uuid(int id[4], int swap, char *buf, char sep); extern char *fname_from_uuid(struct supertype *st, struct mdinfo *info, char *buf, char sep); extern unsigned long calc_csum(void *super, int bytes); @@ -848,6 +855,7 @@ extern int open_container(int fd); extern int mdmon_running(int devnum); extern int signal_mdmon(int devnum); extern int check_env(char *name); +extern __u32 random32(void); extern int start_mdmon(int devnum); extern char *devnum2devname(int num);