Hello, I am searching for the libvirt operations for relocating LXC (system or application) containers. LXC relocation mechanism is done by checkpoint / restart. I went over libvirt API documentation and found the following methods: virDomainSave that receives a domain and path to state file. The method saves domain's memory contents into a disk file. virDomainRestore that receives a domain and path to state file. The method restores the domain from the state file created by save operation. Are these the proper methods to use for LXC relocation? I assume I can also use the corresponding operations via virsh (save / restore).. >From looking into lxcDriver object (defined under /src/lxc/xlc_driver.c in libvirt server source) I can see that NULLs are set in save and restore methods. Does that mean that there is no support for saving and restoring Linux containers? Is there a libvirt patch beyond the kernel patch that needs to be applied? I am using libvirt 0.7.5 and kernel 2.6.31 /* Function Tables */ static virDriver lxcDriver = { VIR_DRV_LXC, /* the number virDrvNo */ "LXC", /* the name of the driver */ lxcOpen, /* open */ lxcClose, /* close */ NULL, /* supports_feature */ NULL, /* type */ lxcVersion, /* version */ NULL, /* libvirtVersion (impl. in libvirt.c) */ virGetHostname, /* getHostname */ NULL, /* getMaxVcpus */ nodeGetInfo, /* nodeGetInfo */ lxcGetCapabilities, /* getCapabilities */ lxcListDomains, /* listDomains */ lxcNumDomains, /* numOfDomains */ lxcDomainCreateAndStart, /* domainCreateXML */ lxcDomainLookupByID, /* domainLookupByID */ lxcDomainLookupByUUID, /* domainLookupByUUID */ lxcDomainLookupByName, /* domainLookupByName */ lxcDomainSuspend, /* domainSuspend */ lxcDomainResume, /* domainResume */ lxcDomainShutdown, /* domainShutdown */ NULL, /* domainSave */ NULL, /* domainRestore */ NULL, /* domainMigratePrepare */ NULL, /* domainMigratePerform */ NULL, /* domainMigrateFinish */ ... ... Thanks, - Avi