void (*getinfo_super)(struct supertype *st, struct mdinfo *info);
/* Check if the given metadata is flagged as belonging to "this"
- * host. For arrays that don't determine a minor-number, this
- * can always be true (??)
+ * host. 0 for 'no', 1 for 'yes', -1 for "Don't record homehost"
*/
int (*match_home)(struct supertype *st, char *homehost);
* metadata read in or created is stored in 'sb' and 'info'.
* There are also fields used by mdmon to track containers.
*
+ * A supertype may refer to:
+ * Just an array, possibly in a container
+ * A container, not identifying any particular array
+ * Info read from just one device, not yet fully describing the array/container.
+ *
+ *
* A supertype is created by:
* super_by_fd
* guess_super
char subarray[32]; /* name of array inside container */
void *sb;
void *info;
+ int loaded_container; /* Set if load_super found a container,
+ * not just one device */
struct metadata_update *updates;
struct metadata_update **update_tail;
extern void uuid_from_super(int uuid[4], mdp_super_t *super);
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(struct supertype *st,
+ struct mdinfo *info, char *buf, char sep);
extern unsigned long calc_csum(void *super, int bytes);
extern int enough(int level, int raid_disks, int layout, int clean,
char *avail, int avail_disks);