static int
qemuDomainDetachVirtioDiskDevice(virQEMUDriverPtr driver,
                                 virDomainObjPtr vm,
                                 virDomainDiskDefPtr detach)
{
.......

    rc = qemuDomainWaitForDeviceRemoval(vm);
    if (rc == 0 || rc == 1)
        ret = qemuDomainRemoveDiskDevice(driver, vm, detach);
    else
        ret = 0;  /*the return value of 2 is dismissed here, which refers to 
ETIMEOUT.*/
........
}

------------------------------------

If it timeouts when qemu tries to del the device, the return value would be 
modified from 2 to 0 in 
function qemuDomainDetachVirtioDiskDevice(), which means that, the users would 
be misleaded that 
the device has been deleted, however, the device maybe probably failed to be 
detached after timeout and
still in use. 

That is to say, the function qemuDomainDetachVirtioDiskDevice()'s return value 
is ambiguous when it's 0, 
maybe successful, or timeout. Will it be better to pass ETIMEOUT to user? or 
any other advises? for example,
let users themselves dumpxml the guest to check whether the device has been 
actually detached or not? 




-- 
Oscar    
[email protected]  

--
libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to