diff options
author | NeilBrown <neilb@suse.de> | 2010-11-22 20:58:07 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2010-11-22 20:58:07 +1100 |
commit | e78dda3bf5ff840b65e85dbd7fc24ec4ccd291a5 (patch) | |
tree | da8f35e89c6ea9ee90ca54674a416fdfa67dd044 /mdadm.h | |
parent | 2feb22efbc216e53486cc20c05df13f8340a9d49 (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.h | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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); |