Read only crash notes for onlined CPUs. Crash notes for not running
CPUs does not exist in core file. Do not try to read them.

Signed-off-by: Daniel Kiper <[email protected]>

diff -Npru crash-6.0.8.orig/xen_hyper.c crash-6.0.8/xen_hyper.c
--- crash-6.0.8.orig/xen_hyper.c        2012-07-05 15:34:45.000000000 +0200
+++ crash-6.0.8/xen_hyper.c     2012-07-05 15:35:05.000000000 +0200
@@ -633,18 +633,18 @@ xen_hyper_dumpinfo_init(void)
        }
 
        /* allocate a context area */
-       size = sizeof(struct xen_hyper_dumpinfo_context) * XEN_HYPER_MAX_CPUS();
+       size = sizeof(struct xen_hyper_dumpinfo_context) * 
machdep->get_smp_cpus();
        if((xhdit->context_array = malloc(size)) == NULL) {
                error(FATAL, "cannot malloc dumpinfo table context space.\n");
        }
        BZERO(xhdit->context_array, size);
-       size = sizeof(struct xen_hyper_dumpinfo_context_xen_core) * 
XEN_HYPER_MAX_CPUS();
+       size = sizeof(struct xen_hyper_dumpinfo_context_xen_core) * 
machdep->get_smp_cpus();
        if((xhdit->context_xen_core_array = malloc(size)) == NULL) {
                error(FATAL, "cannot malloc dumpinfo table 
context_xen_core_array space.\n");
        }
        BZERO(xhdit->context_xen_core_array, size);
        addr = symbol_value("per_cpu__crash_notes");
-       for (i = 0; i < XEN_HYPER_MAX_CPUS(); i++) {
+       for (i = 0; i < machdep->get_smp_cpus(); i++) {
                ulong addr_notes;
 
                addr_notes = xen_hyper_per_cpu(addr, i);

--
Crash-utility mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/crash-utility

Reply via email to