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
 |