[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] XenDomainInfo.py: Can hang in _releaseDevices.


  • To: "xen devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Petersson, Mats" <Mats.Petersson@xxxxxxx>
  • Date: Mon, 14 May 2007 15:18:17 +0200
  • Delivery-date: Mon, 14 May 2007 06:16:52 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AceWKlV1RY33IpcAR/Ww59bULilUvg==
  • Thread-topic: XenDomainInfo.py: Can hang in _releaseDevices.

A section of code does: 

         while True:
            t = xstransact("%s/device" % self.dompath)
            for devclass in XendDevices.valid_devices():
                for dev in t.list(devclass):
                    try:
                        t.remove(dev)
                    except:
                        # Log and swallow any exceptions in removal --
                        # there's nothing more we can do.
                        log.exception(
                           "Device release failed: %s; %s; %s",
                           self.info['name_label'], devclass, dev)
            if t.commit():
                break

If commit() doesn't work because (for example) the device has already
been removed or not correctly created, it will hang xend forever. [I
managed to create such a case when adding some extra case to remove some
other stuff]. 

Wouldn't it be a good idea to make a "best attempt" of doing this, say,
10 or 100 times, then give up?

--
Mats



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.