Print this page
4051 Don't free mdi_pathinfo_t in mptsas when device(s) are retired.

@@ -18,10 +18,11 @@
  *
  * CDDL HEADER END
  */
 /*
  * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014 Nexenta Systems Inc. All rights reserved.
  */
 
 /*
  * Multipath driver interface (MDI) implementation; see mdi_impldefs.h for a
  * more detailed discussion of the overall mpxio architecture.

@@ -3654,28 +3655,16 @@
                                         rv = ndi_devi_online(cdip, 0);
                                         MDI_CLIENT_LOCK(ct);
                                         if ((rv != NDI_SUCCESS) &&
                                             (MDI_CLIENT_STATE(ct) ==
                                             MDI_CLIENT_STATE_DEGRADED)) {
-                                                /*
-                                                 * ndi_devi_online failed.
-                                                 * Reset client flags to
-                                                 * offline.
-                                                 */
                                                 MDI_DEBUG(1, (MDI_WARN, cdip,
                                                     "!ndi_devi_online failed "
                                                     "error %x", rv));
-                                                MDI_CLIENT_SET_OFFLINE(ct);
                                         }
-                                        if (rv != NDI_SUCCESS) {
-                                                /* Reset the path state */
-                                                MDI_PI_LOCK(pip);
-                                                MDI_PI(pip)->pi_state =
-                                                    MDI_PI_OLD_STATE(pip);
-                                                MDI_PI_UNLOCK(pip);
+                                        rv = NDI_SUCCESS;
                                         }
-                                }
                                 break;
 
                         case MDI_CLIENT_STATE_FAILED:
                                 /*
                                  * This is the last path case for