summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Dennis - Sustaining Engineer <Peter.Dennis@Oracle.COM>2010-08-05 13:34:37 +0100
committerPeter Dennis - Sustaining Engineer <Peter.Dennis@Oracle.COM>2010-08-05 13:34:37 +0100
commit48f52900a5929ba7f9b140bef66d0de7b706d10a (patch)
tree5608260f6bfdbfe43939636dc94d5490b39600f7
parenta98ca9da1bd21dd8b5b0161eb59d550bf26e70e2 (diff)
downloadillumos-gate-48f52900a5929ba7f9b140bef66d0de7b706d10a.tar.gz
6967759 reconfiguring cluster failfasts when rpc.metad cores during set removal
-rw-r--r--usr/src/lib/lvm/libmeta/common/meta_mn_subr.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/usr/src/lib/lvm/libmeta/common/meta_mn_subr.c b/usr/src/lib/lvm/libmeta/common/meta_mn_subr.c
index 6fe652371d..f4a5a733ba 100644
--- a/usr/src/lib/lvm/libmeta/common/meta_mn_subr.c
+++ b/usr/src/lib/lvm/libmeta/common/meta_mn_subr.c
@@ -19,8 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
*/
@@ -64,7 +63,15 @@ meta_is_mn_set(
(strcmp(sp->setname, MD_LOCAL_NAME) == 0))
return (0);
sd = metaget_setdesc(sp, ep);
- ASSERT(sd != NULL);
+
+ /*
+ * sd can be NULL if there is a difference between
+ * the setrecords and the setlistp caches. This can happen
+ * if this function is called while a set is being
+ * removed during a cluster reconfiguration.
+ */
+ if (sd == NULL)
+ return (0);
if (sd->sd_flags & MD_SR_MN)
return (1);
return (0);