165 { "swde_panic_failsrlz", FMD_TYPE_UINT64,
166 "failures to serialize case data" },
167 };
168
169 #define BUMPSTAT(stat) swde_panic_stats.stat.fmds_value.ui64++
170
171 static nvlist_t *
172 panic_sw_fmri(fmd_hdl_t *hdl, char *object)
173 {
174 nvlist_t *fmri;
175 nvlist_t *sw_obj;
176 int err = 0;
177
178 fmri = fmd_nvl_alloc(hdl, FMD_SLEEP);
179 err |= nvlist_add_uint8(fmri, FM_VERSION, FM_SW_SCHEME_VERSION);
180 err |= nvlist_add_string(fmri, FM_FMRI_SCHEME, FM_FMRI_SCHEME_SW);
181
182 sw_obj = fmd_nvl_alloc(hdl, FMD_SLEEP);
183 err |= nvlist_add_string(sw_obj, FM_FMRI_SW_OBJ_PATH, object);
184 err |= nvlist_add_nvlist(fmri, FM_FMRI_SW_OBJ, sw_obj);
185 if (sw_obj)
186 nvlist_free(sw_obj);
187 if (!err)
188 return (fmri);
189 else
190 return (0);
191 }
192
193 static const char *dumpfiles[2] = { "unix.%lld", "vmcore.%lld" };
194 static const char *dumpfiles_comp[2] = { "vmdump.%lld", NULL};
195
196 static void
197 swde_panic_solve(fmd_hdl_t *hdl, fmd_case_t *cp,
198 nvlist_t *attr, fmd_event_t *ep, boolean_t savecore_success)
199 {
200 char *dumpdir, *path, *uuid;
201 nvlist_t *defect, *rsrc;
202 nvpair_t *nvp;
203 int i;
204
205 /*
|
165 { "swde_panic_failsrlz", FMD_TYPE_UINT64,
166 "failures to serialize case data" },
167 };
168
169 #define BUMPSTAT(stat) swde_panic_stats.stat.fmds_value.ui64++
170
171 static nvlist_t *
172 panic_sw_fmri(fmd_hdl_t *hdl, char *object)
173 {
174 nvlist_t *fmri;
175 nvlist_t *sw_obj;
176 int err = 0;
177
178 fmri = fmd_nvl_alloc(hdl, FMD_SLEEP);
179 err |= nvlist_add_uint8(fmri, FM_VERSION, FM_SW_SCHEME_VERSION);
180 err |= nvlist_add_string(fmri, FM_FMRI_SCHEME, FM_FMRI_SCHEME_SW);
181
182 sw_obj = fmd_nvl_alloc(hdl, FMD_SLEEP);
183 err |= nvlist_add_string(sw_obj, FM_FMRI_SW_OBJ_PATH, object);
184 err |= nvlist_add_nvlist(fmri, FM_FMRI_SW_OBJ, sw_obj);
185 nvlist_free(sw_obj);
186 if (!err)
187 return (fmri);
188 else
189 return (0);
190 }
191
192 static const char *dumpfiles[2] = { "unix.%lld", "vmcore.%lld" };
193 static const char *dumpfiles_comp[2] = { "vmdump.%lld", NULL};
194
195 static void
196 swde_panic_solve(fmd_hdl_t *hdl, fmd_case_t *cp,
197 nvlist_t *attr, fmd_event_t *ep, boolean_t savecore_success)
198 {
199 char *dumpdir, *path, *uuid;
200 nvlist_t *defect, *rsrc;
201 nvpair_t *nvp;
202 int i;
203
204 /*
|