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,30 ****
   */
  
  /*
   * 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 (c) 2017, Joyent, Inc.
   */
  
  #include <alloca.h>
  #include <dirent.h>
--- 20,30 ----
   */
  
  /*
   * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
   * Copyright 2012 Milan Jurik. All rights reserved.
!  * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
   * Copyright (c) 2017, Joyent, Inc.
   */
  
  #include <alloca.h>
  #include <dirent.h>
*** 1015,1027 ****
          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);
  
          ses_node_unlock(mod, tn);
  
          present = (status != SES_ESC_NOT_INSTALLED);
  
--- 1015,1034 ----
          uint64_t status;
  
          if ((np = ses_node_lock(mod, tn)) == NULL)
                  return (-1);
  
!         /*
!          * 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);