summaryrefslogtreecommitdiff
path: root/mdadm.h
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2010-11-22 20:58:07 +1100
committerNeilBrown <neilb@suse.de>2010-11-22 20:58:07 +1100
commite78dda3bf5ff840b65e85dbd7fc24ec4ccd291a5 (patch)
treeda8f35e89c6ea9ee90ca54674a416fdfa67dd044 /mdadm.h
parent2feb22efbc216e53486cc20c05df13f8340a9d49 (diff)
Monitor: policy based spare migration.
Rather than only migrating between arrays with the same spare_group, we now migrate based on domains set in the policy. In order for spare_group to continue to work, we treat it as a domain of the destination array, and a domain of any device we might remove from a source array. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'mdadm.h')
-rw-r--r--mdadm.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/mdadm.h b/mdadm.h
index 3b0cad18..83152f7d 100644
--- a/mdadm.h
+++ b/mdadm.h
@@ -811,7 +811,8 @@ extern struct dev_policy *disk_policy(struct mdinfo *disk);
extern struct dev_policy *devnum_policy(int dev);
extern void dev_policy_free(struct dev_policy *p);
-extern void pol_new(struct dev_policy **pol, char *name, char *val, char *metadata);
+//extern void pol_new(struct dev_policy **pol, char *name, char *val, char *metadata);
+extern void pol_add(struct dev_policy **pol, char *name, char *val, char *metadata);
extern struct dev_policy *pol_find(struct dev_policy *pol, char *name);
enum policy_action {
@@ -839,9 +840,12 @@ extern int domain_test(struct domainlist *dom, struct dev_policy *pol,
const char *metadata);
extern struct domainlist *domain_from_array(struct mdinfo *mdi,
const char *metadata);
+extern void domainlist_add_dev(struct domainlist **dom, int devnum,
+ const char *metadata);
extern void domain_free(struct domainlist *dl);
extern void domain_merge(struct domainlist **domp, struct dev_policy *pol,
const char *metadata);
+void domain_add(struct domainlist **domp, char *domain);
extern void policy_save_path(char *id_path, struct map_ent *array);
extern int policy_check_path(struct mdinfo *disk, struct map_ent *array);