----- Original Message ----- > Hi, > > with xen version 4.2.5 in struct domain the item is_paused_by_controller > got changed to controller_pause_count and hence crash doesn't work on > newer xen environments. > This patch allows to support older and newer xen versions. > > Dietmar. Queued for crash-7.1.1: https://github.com/crash-utility/crash/commit/eff086f2d43541d22e9b2136dfc210e47f761853 Thanks, Dave > > > diff -pNaur crash-7.1.0-org/xen_hyper.c crash-7.1.0/xen_hyper.c > --- crash-7.1.0-org/xen_hyper.c 2015-02-06 19:44:11.000000000 +0100 > +++ crash-7.1.0/xen_hyper.c 2015-03-11 12:02:17.000000000 +0100 > @@ -218,7 +218,12 @@ xen_hyper_domain_init(void) > XEN_HYPER_MEMBER_OFFSET_INIT(domain_is_polling, "domain", "is_polling"); > > XEN_HYPER_MEMBER_OFFSET_INIT(domain_is_dying, "domain", "is_dying"); > + /* > + * With Xen 4.2.5 is_paused_by_controller changed to > + * controller_pause_count. > + */ > XEN_HYPER_MEMBER_OFFSET_INIT(domain_is_paused_by_controller, "domain", > "is_paused_by_controller"); > + XEN_HYPER_MEMBER_OFFSET_INIT(domain_controller_pause_count, "domain", > "controller_pause_count"); > XEN_HYPER_MEMBER_OFFSET_INIT(domain_is_shutting_down, "domain", > "is_shutting_down"); > XEN_HYPER_MEMBER_OFFSET_INIT(domain_is_shut_down, "domain", > "is_shut_down"); > XEN_HYPER_MEMBER_OFFSET_INIT(domain_vcpu, "domain", "vcpu"); > @@ -1269,7 +1274,12 @@ xen_hyper_store_domain_context(struct xe > *(dp + XEN_HYPER_OFFSET(domain_is_polling))) { > dc->domain_flags |= XEN_HYPER_DOMS_polling; > } > - if (*(dp + XEN_HYPER_OFFSET(domain_is_paused_by_controller))) { > + if (XEN_HYPER_VALID_MEMBER(domain_is_paused_by_controller) && > + *(dp + XEN_HYPER_OFFSET(domain_is_paused_by_controller))) { > + dc->domain_flags |= XEN_HYPER_DOMS_ctrl_pause; > + } > + if (XEN_HYPER_VALID_MEMBER(domain_controller_pause_count) && > + *(dp + XEN_HYPER_OFFSET(domain_controller_pause_count))) { > dc->domain_flags |= XEN_HYPER_DOMS_ctrl_pause; > } > if (*(dp + XEN_HYPER_OFFSET(domain_is_dying))) { > diff -pNaur crash-7.1.0-org/xen_hyper_defs.h crash-7.1.0/xen_hyper_defs.h > --- crash-7.1.0-org/xen_hyper_defs.h 2015-02-06 19:44:11.000000000 +0100 > +++ crash-7.1.0/xen_hyper_defs.h 2015-03-11 12:02:17.000000000 +0100 > @@ -678,6 +678,10 @@ struct xen_hyper_offset_table { > long domain_debugger_attached; > long domain_is_polling; > long domain_is_dying; > + /* > + * This changed from xen-4.2.5 to domain_controller_pause_count. > + * See below! > + */ > long domain_is_paused_by_controller; > long domain_is_shutting_down; > long domain_is_shut_down; > @@ -752,6 +756,8 @@ struct xen_hyper_offset_table { > long vcpu_runstate_info_state; > long vcpu_runstate_info_state_entry_time; > long vcpu_runstate_info_time; > + /* domain - changed item see domain_is_paused_by_controller */ > + long domain_controller_pause_count; > }; > > /* > diff -pNaur crash-7.1.0-org/xen_hyper_dump_tables.c > crash-7.1.0/xen_hyper_dump_tables.c > --- crash-7.1.0-org/xen_hyper_dump_tables.c 2015-02-06 19:44:11.000000000 > +0100 > +++ crash-7.1.0/xen_hyper_dump_tables.c 2015-03-11 12:05:59.000000000 +0100 > @@ -784,8 +784,11 @@ xen_hyper_dump_xen_hyper_offset_table(ch > } > XEN_HYPER_PRI(fp, len, "domain_is_dying: ", buf, flag, > (buf, "%ld\n", xen_hyper_offset_table.domain_is_dying)); > + /* Only one of next both exists but print both, ones value is -1. */ > XEN_HYPER_PRI(fp, len, "domain_is_paused_by_controller: ", buf, flag, > (buf, "%ld\n", xen_hyper_offset_table.domain_is_paused_by_controller)); > + XEN_HYPER_PRI(fp, len, "domain_controller_pause_count: ", buf, flag, > + (buf, "%ld\n", xen_hyper_offset_table.domain_controller_pause_count)); > XEN_HYPER_PRI(fp, len, "domain_is_shutting_down: ", buf, flag, > (buf, "%ld\n", xen_hyper_offset_table.domain_is_shutting_down)); > XEN_HYPER_PRI(fp, len, "domain_is_shut_down: ", buf, flag, > > > > -- > Company details: http://ts.fujitsu.com/imprint.html > > -- > Crash-utility mailing list > Crash-utility@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/crash-utility > -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility