Hi all!
 
I think there is a bug in liibxl_dom.c
for this function -> libxl__domain_resume_device_model
 
976 int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid)
977 {
978
979     switch (libxl__device_model_version_running(gc, domid)) {
980     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: {
981         libxl__qemu_traditional_cmd(gc, domid, "continue");
982         libxl__wait_for_device_model(gc, domid, "running", NULL, NULL, NULL);
983         break;
984     }
985     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
986         if (libxl__qmp_resume(gc, domid))
987             return ERROR_FAIL;
        break;
988     default:
989         return ERROR_INVAL;
990     }
991
992     return 0;
993 }
 
we should add "break" between line 987 & 988
 
Another problem:
 
The guest hung after  cmd "xl save -c domid /fpath" with PV driver
if we remove/disable the pv driver, the function works well
 
Test ENV:
host: xen 4.3 + upstream qemu dm
dom0: Oracle UEK kernel
guest: win2k3 SP2 & centos 6.4
 
Additional
There is no valuable debug info in xl dmesg, /var/log/xen*
 
Any Suggestion?? 
 
 
 

rwxybh