summaryrefslogtreecommitdiff
path: root/Incremental.c
diff options
context:
space:
mode:
authorPrzemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski@intel.com>2010-12-26 22:38:44 +1100
committerNeilBrown <neilb@suse.de>2010-12-26 22:38:44 +1100
commitfee6a49ee80d1c93f7345eb3420abd229438794f (patch)
treeabbf42b6b44be42a608071c869d502c2712f41d6 /Incremental.c
parent4886570497e369550608666bd7c1d4638e47a8c1 (diff)
Consider target only for spare-same-domain
otherwise, matching target will force spare-same-domain regardless of action that comes in domain. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'Incremental.c')
-rw-r--r--Incremental.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Incremental.c b/Incremental.c
index 90fc3739..4ee19813 100644
--- a/Incremental.c
+++ b/Incremental.c
@@ -978,7 +978,8 @@ static int array_try_spare(char *devname, int *dfdp, struct dev_policy *pol,
* array which matches 'target'.
* target is considered only if we deal with degraded array
*/
- if (target) {
+ if (target && policy_action_allows(pol, st2->ss->name,
+ act_spare_same_slot)) {
if (strcmp(target->metadata, mp->metadata) == 0 &&
memcmp(target->uuid, mp->uuid,
sizeof(target->uuid)) == 0 &&