6851724 configuration data should be preserved during service enable when persist_method is "none"
--- a/usr/src/lib/libstmf/common/stmf.c Wed Sep 16 09:51:25 2009 -0700
+++ b/usr/src/lib/libstmf/common/stmf.c Wed Sep 16 14:02:56 2009 -0400
@@ -4735,15 +4735,15 @@
if (iGetPersistMethod() == STMF_PERSIST_NONE) {
stmfStateSet.state = STMF_STATE_OFFLINE;
- stmfStateSet.config_state = STMF_CONFIG_INIT;
+
if ((ret = openStmf(OPEN_EXCL_STMF, &fd))
!= STMF_STATUS_SUCCESS) {
return (ret);
}
- ret = setStmfState(fd, &stmfStateSet, STMF_SERVICE_TYPE);
- if (ret != STMF_STATUS_SUCCESS) {
- goto done;
- }
+ /*
+ * Configuration not stored persistently; nothing to
+ * initialize so do not set to STMF_CONFIG_INIT.
+ */
stmfStateSet.config_state = STMF_CONFIG_INIT_DONE;
goto done;
}
--- a/usr/src/uts/common/io/comstar/stmf/stmf.c Wed Sep 16 09:51:25 2009 -0700
+++ b/usr/src/uts/common/io/comstar/stmf/stmf.c Wed Sep 16 14:02:56 2009 -0400
@@ -1387,7 +1387,7 @@
stmf_state.stmf_inventory_locked = 1;
stmf_state.stmf_service_running = 0;
- stmf_delete_all_ppds();
+
mutex_exit(&stmf_state.stmf_lock);
for (ilport = stmf_state.stmf_ilportlist; ilport != NULL;
ilport = ilport->ilport_next) {