]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - mdadm.h
Incremental: honor an 'enough' flag from external handlers
[thirdparty/mdadm.git] / mdadm.h
diff --git a/mdadm.h b/mdadm.h
index 0386129d62bf7c5ba30ebba52addb9cb17f7590a..a0797e8c9be26eeb9a63246b1e2ba7bdd89d745d 100644 (file)
--- a/mdadm.h
+++ b/mdadm.h
@@ -205,7 +205,9 @@ struct mdinfo {
        int container_member; /* for assembling external-metatdata arrays
                               * This is to be used internally by metadata
                               * handler only */
-
+       int container_enough; /* flag external handlers can set to
+                              * indicate that subarrays have not enough (-1),
+                              * enough to start (0), or all expected disks (1) */
        char            sys_name[20];
        struct mdinfo *devs;
        struct mdinfo *next;
@@ -372,6 +374,7 @@ struct map_ent {
 };
 extern int map_update(struct map_ent **mpp, int devnum, char *metadata,
                      int uuid[4], char *path);
+extern void map_remove(struct map_ent **map, int devnum);
 extern struct map_ent *map_by_uuid(struct map_ent **map, int uuid[4]);
 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);
@@ -875,6 +878,7 @@ 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 int test_partition(int fd);
 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);