On Fri, Jan 05, 2007 at 12:36:30PM +0000, Ewan Mellor wrote:
> > xm list -> XendDomain:list_sorted() -> XendDomain:list() ->
> > XendDomain:_refresh() -> XendDomainInfo:update(refresh = True)
> >
> > Surely such non-modifying commands should not be altering state? Why
> > aren't we passing in refresh = False in these cases?
>
> Yes, you're right, we should. There's a patch on its way.
Great.
> > This is a nasty problem if (say) dumpCore fails: every time we try to xm
> > list, then it will 'notice' that the domain is in the crashed state, try
> > to dump core, fail and plop that error back to 'xm list'.
>
> This is still a problem, regardless -- that function will be called every time
> a domain starts or stops, so you will still get multiple attempts to dump
> core. Could you spin a patch to record the failure in the store, so that we
> don't try and dump core again?
Hmm, for this specific case, isn't it better to catch the exception from
dumpCore and continue? i.e. something like:
if xoptions.get_enable_dump():
try:
self.dumpCore()
except XendError x:
pass
restart_reason = 'crash'
self._stateSet(DOM_STATE_HALTED)
BTW:
def dumpCore(self, corefile = None):
"""Create a core dump for this domain. Nothrow guarantee."""
^^^^^^^^^^^^^^^^^
hmm :)
regards
john
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|