diff options
author | NeilBrown <neilb@suse.de> | 2009-05-11 15:16:49 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-05-11 15:16:49 +1000 |
commit | 745f72f61ab363dbc1c19fd00cc29edc42571f62 (patch) | |
tree | 521efe574fa8741cf02b925369968e2a328d2478 | |
parent | d7ba0c55f07d24b51e6da1a5850d7164e9cf01d9 (diff) | |
download | mdadm-745f72f61ab363dbc1c19fd00cc29edc42571f62.tar.gz mdadm-745f72f61ab363dbc1c19fd00cc29edc42571f62.tar.xz mdadm-745f72f61ab363dbc1c19fd00cc29edc42571f62.zip |
assemble: support arrays created with --homehost=any
If an array is created with --homehost=any, then --assemble and
--incremental will treat it as being local to 'this' host, no matter
what the name of this host is.
This is useful for array that will be given unique names and be
moved between machines.
This needs to be documented.
Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r-- | Assemble.c | 3 | ||||
-rw-r--r-- | Incremental.c | 5 |
2 files changed, 5 insertions, 3 deletions
@@ -478,7 +478,8 @@ int Assemble(struct supertype *st, char *mddev, st->ss->getinfo_super(st, content); trustworthy = FOREIGN; - switch (st->ss->match_home(st, homehost)) { + switch (st->ss->match_home(st, homehost) + ?: st->ss->match_home(st, "any")) { case 0: trustworthy = FOREIGN; name = content->name; diff --git a/Incremental.c b/Incremental.c index f7e602e..c13ea43 100644 --- a/Incremental.c +++ b/Incremental.c @@ -217,8 +217,9 @@ int Incremental(char *devname, int verbose, int runstop, * on that. */ if (match) trustworthy = LOCAL; - else if (homehost == NULL || - st->ss->match_home(st, homehost) != 1) + else if ((homehost == NULL || + st->ss->match_home(st, homehost) != 1) && + st->ss->match_home(st, "any") != 1) trustworthy = FOREIGN; else trustworthy = LOCAL; |