On 24.04.2015 07:40, zhang bo wrote: > On 2015/4/24 1:14, Michal Privoznik wrote: > >> As discussed here: >> >> https://www.redhat.com/archives/libvir-list/2015-April/msg01135.html >> >> Michal Privoznik (5): >> virDomainObjListAddLocked: s/false/NULL/ for @oldDef >> virDomainObjListNew: Use virObjectFreeHashData >> Introduce virDomainObjEndAPI >> virDomainObjListFindByName: Return referenced object >> virDomainObjList: Introduce yet another hash table >> >> src/bhyve/bhyve_driver.c | 3 +- >> src/conf/domain_conf.c | 83 +++++++++++++++++++++++------------ >> src/conf/domain_conf.h | 2 + >> src/libvirt_private.syms | 1 + >> src/libxl/libxl_driver.c | 10 ++--- >> src/lxc/lxc_driver.c | 3 +- >> src/openvz/openvz_driver.c | 11 +++-- >> src/parallels/parallels_driver.c | 3 +- >> src/qemu/qemu_domain.c | 7 +-- >> src/qemu/qemu_driver.c | 14 ++---- >> src/test/test_driver.c | 93 +++++++++++++--------------------------- >> src/uml/uml_driver.c | 15 +++---- >> 12 files changed, 110 insertions(+), 135 deletions(-) >> > > > BTW, we just dealt with virDomainObjListFindByName() here, without caring about virDomainObjListFindByID(). > virDomainObjListFindByID() is now called by umlDomainDestroyFlags() and umlDomainShutdownFlags(), > if we simultaneously shutdown multiple vms on hypervisor UML, then similar problem comes out: > some guest maybe unable to shutdown immediately, until other guests get shutoff, and even 'virsh list' blocks. > > so, shall we: > 1 don't take such problem as a problem > 2 use virDomainObjListFindByName() instead of virDomainObjListFindByID() there. In fact I'd prefer FindByUUID() everywhere except for those few places where other lookup functions are necessary (e.g. virDomainLookupByID()). > 3 add a third hash table for domid No. even two hash tables duplicate information enough. > > If we use virDomainObjListFindByName() there, and forbids developers from using **ByID(), it seems unacceptable for > any developers. Why? > If we add a third hash table, it may become not easy to maintain the high-complexity codes. Is there a better solution other > than adding more hash tables? > The ultimate solution would be to have multi key hash table, so that any item from tuple (uuid, name, id) would suffice to find domain object. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list