While reviewing a patch [0] from John's series to rework virDomainObjListFindBy{UUID|ID}Ref, I noticed several problems with locking and ref counting in the libxl migration APIs. This series changes the Begin, Prepare, Perform, and Confirm APIs to use the standard pattern of get a locked and ref counted virDomainObj, perform API, virDomainObjEndAPI. [0] https://www.redhat.com/archives/libvir-list/2018-March/msg00516.html Jim Fehlig (4): libxl: MigrateBegin: Dont call EndAPI in helper function libxl: MigrateConfirm: Dont unlock virDomainObj in helper function libxl: MigratePrepare: properly cleanup after virDomainObjListAdd libxl: MigratePerform: properly cleanup after libxlDomObjFromDomain src/libxl/libxl_driver.c | 40 ++++++++++++++++++++++------------------ src/libxl/libxl_migration.c | 10 ++-------- 2 files changed, 24 insertions(+), 26 deletions(-) -- 2.16.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list