|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-ppc-devel
Re: [XenPPC] xm restore: xc_get_pfn_list() returns bogus mfns 
| As I look at the x86 libxc/xc_linux_restore.c they seem to be  
performing all the stuff we are looking for.
It seems like an odd disconnect. I wonder if some of what we have in  
initDomain should actually be in vm.construct()?! 
-JX
On Oct 16, 2006, at 11:07 AM, poff wrote:
 
Dan, we assumed that xend built a domain shell before the restor
process, is this not the case.
 
The restore code does not call initDomain(), so allocMem() is never  
run: 
If I change restore to include initDomain(), then good mfns showup...
Uncomfortable with this 'hack' - don't know where initDomain() came  
from, 
and why it was omitted from restore code?
XendDomainInfo.py:
def create(config):
    """Create a VM from a configuration.
    @param config    configuration
    @raise: VmError for invalid configuration
    """
    log.debug("XendDomainInfo.create(%s)", config)
    vm = findDomainClass()(parseConfig(config))
    try:
        vm.construct()
        vm.initDomain()
        vm.storeVmDetails()
        vm.storeDomDetails()
        vm.registerWatches()
        vm.refreshShutdown()
        return vm
    except:
        log.exception('Domain construction failed')
        vm.destroy()
        raise
def restore(config):
    """Create a domain and a VM object to do a restore.
    @param config: domain configuration
    """
    log.debug("XendDomainInfo.restore(%s)", config)
vm = findDomainClass()(parseConfig(config), None, None, False,  
False, True)
    try:
        vm.construct()
        vm.storeVmDetails()
        vm.createDevices()
        vm.createChannels()
        vm.storeDomDetails()
        vm.endRestore()
        return vm
    except:
        vm.destroy()
        raise
 
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel
 | 
 |  | 
  
    |  |  |