diff options
author | Ray Hassan <Ray.Hassan@Sun.COM> | 2010-02-18 13:36:37 +0000 |
---|---|---|
committer | Ray Hassan <Ray.Hassan@Sun.COM> | 2010-02-18 13:36:37 +0000 |
commit | 99fd4d22c4d79c3cbb29109c221e7868cfa07333 (patch) | |
tree | 03b3dcf27a26830c65b288ea9173e6756d8ff968 | |
parent | b69a86957bad202e0d4cd49e4ceb7fea54a83270 (diff) | |
download | illumos-gate-99fd4d22c4d79c3cbb29109c221e7868cfa07333.tar.gz |
6881136 2nd node panics when 1st node has metadb problems - SVM/ZFS mixed system.
-rw-r--r-- | usr/src/cmd/lvm/util/metaclust.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/usr/src/cmd/lvm/util/metaclust.c b/usr/src/cmd/lvm/util/metaclust.c index e68f82b052..497cfc53e8 100644 --- a/usr/src/cmd/lvm/util/metaclust.c +++ b/usr/src/cmd/lvm/util/metaclust.c @@ -20,7 +20,7 @@ */ /* - * Copyright 2009 Sun Microsystems, Inc. All rights reserved. + * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -880,12 +880,18 @@ main(int argc, char **argv) meta_print_hrtime(0)); /* - * Does local set exist? If not, exit with 0 - * since there's no reason to have this node panic if - * the local set cannot be started. + * With multinode disksets configured we need to + * update all replicas on all cluster nodes to have + * the same status. If local replicas on a cluster + * node are not accessible we need to panic this + * node, otherwise we abort in the reconfig cycle + * and failfast/reboot the "good" cluster node too. + * To avoid a total cluster outage in the above case + * we panic only the failing node via md_exit(.., 1). */ if ((local_sp = load_local_set(ep)) == NULL) { - md_exit(local_sp, 0); + /* panic the node */ + md_exit(local_sp, 1); } if ((max_sets = get_max_sets(ep)) == 0) { |