Print this page
NEX-13190 fmd core dump with assertion failure
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
NEX-3829 libtopo ses module unload takes too long
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>
re #10360 rb4192 Unable to use /usr/lib/fm/fmd/fmtopo to discover SES / drive topology with the Dell MD1200.
        
@@ -20,11 +20,11 @@
  */
 
 /*
  * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2012 Milan Jurik. All rights reserved.
- * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
+ * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
  * Copyright (c) 2017, Joyent, Inc.
  */
 
 #include <alloca.h>
 #include <dirent.h>
@@ -1015,13 +1015,20 @@
         uint64_t status;
 
         if ((np = ses_node_lock(mod, tn)) == NULL)
                 return (-1);
 
-        verify((props = ses_node_props(np)) != NULL);
-        verify(nvlist_lookup_uint64(props,
-            SES_PROP_STATUS_CODE, &status) == 0);
+        /*
+         * If the SES properties are not there or
+         * status cannot be determined, continue
+         * and indicate status is unknown.
+         */
+        if (((props = ses_node_props(np)) == NULL) ||
+            (nvlist_lookup_uint64(props,
+            SES_PROP_STATUS_CODE, &status) != 0)) {
+                status = SES_ESC_UNKNOWN;
+        }
 
         ses_node_unlock(mod, tn);
 
         present = (status != SES_ESC_NOT_INSTALLED);