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

[libvirt] virDomainGetInfo() returns wrong domain state


Hi Team,

I have written below code to get the VM state at run time. I found, though the VM is in shut-off state, when I use the function virDomainGetInfo();  I get state as running. Could you please let me know what wrong I am doing. To know the actual VM state I used ‘virsh list’ and it clearly shows the VM is in shut-off state. Please find the log and code snippet below.


Log from virsh:


[host:~]$ virsh list  --all

Id    Name                           State


1     calvados                       running

2     LCXR                           running

3     default-sdr--1                 running

-     test--2                        shut off


Out put:

========= vm_libvirt_state_to_vmm_state: state returned is 1


Note : Here 1 is actually running.


Code snippet:


enum cidl_vmm_vm_state

vm_libvirt_state_to_vmm_state(unsigned char libvirt_state)


    enum cidl_vmm_vm_state state;

    INFO("%s: state returned is %u\n",__FUNCTION__, libvirt_state); <<<<<<<<<<<<<<<<<<

    if (libvirt_state == VIR_DOMAIN_RUNNING) {

        state = cidl_vm_state_running;

    } else if ((libvirt_state == VIR_DOMAIN_PAUSED) ||

               (libvirt_state == VIR_DOMAIN_BLOCKED)) {

        state = cidl_vm_state_paused;

    } else if (libvirt_state == VIR_DOMAIN_SHUTOFF) {

        state = cidl_vm_state_defined;

    } else {

        state = cidl_vm_state_not_defined;


    return state;



           virDomainInfo res_util;

            virDomainPtr dom = virDomainLookupByName(virt,


            res = virDomainGetInfo(dom, &res_util);

            vminfo[vm_idx].vm_state =






Ritesh Sharma

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