[PATCH 0/5] Use virXXXEndAPI() more

*** BLURB HERE *** Michal Prívozník (5): Use virDomainObjEndAPI() more Use virInterfaceObjEndAPI() more Use virNWFilterBindingObjEndAPI() more Use virNodeDeviceObjEndAPI() more Use virSecretObjEndAPI() more src/conf/virdomainobjlist.c | 24 +++++++----------------- src/conf/virinterfaceobj.c | 3 +-- src/conf/virnodedeviceobj.c | 3 +-- src/conf/virnwfilterbindingobjlist.c | 10 +++------- src/conf/virsecretobj.c | 3 +-- src/libxl/libxl_driver.c | 3 +-- 6 files changed, 14 insertions(+), 32 deletions(-) -- 2.32.0

Instead of explicit virObjectUnlock(obj) + virObjectUnref(obj) combo the virDomainObjEndAPI() can be used. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/virdomainobjlist.c | 24 +++++++----------------- src/libxl/libxl_driver.c | 3 +-- 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/src/conf/virdomainobjlist.c b/src/conf/virdomainobjlist.c index 5c40d697dc..ff6c4c1b4f 100644 --- a/src/conf/virdomainobjlist.c +++ b/src/conf/virdomainobjlist.c @@ -119,11 +119,8 @@ virDomainObjListFindByID(virDomainObjList *doms, virObjectRWUnlock(doms); if (obj) { virObjectLock(obj); - if (obj->removing) { - virObjectUnlock(obj); - virObjectUnref(obj); - obj = NULL; - } + if (obj->removing) + virDomainObjEndAPI(&obj); } return obj; @@ -165,11 +162,8 @@ virDomainObjListFindByUUID(virDomainObjList *doms, obj = virDomainObjListFindByUUIDLocked(doms, uuid); virObjectRWUnlock(doms); - if (obj && obj->removing) { - virObjectUnlock(obj); - virObjectUnref(obj); - obj = NULL; - } + if (obj && obj->removing) + virDomainObjEndAPI(&obj); return obj; } @@ -208,11 +202,8 @@ virDomainObjListFindByName(virDomainObjList *doms, obj = virDomainObjListFindByNameLocked(doms, name); virObjectRWUnlock(doms); - if (obj && obj->removing) { - virObjectUnlock(obj); - virObjectUnref(obj); - obj = NULL; - } + if (obj && obj->removing) + virDomainObjEndAPI(&obj); return obj; } @@ -953,8 +944,7 @@ virDomainObjListFilter(virDomainObj ***list, if (vm->removing || (filter && !filter(conn, vm->def)) || !virDomainObjMatchFilter(vm, flags)) { - virObjectUnlock(vm); - virObjectUnref(vm); + virDomainObjEndAPI(&vm); VIR_DELETE_ELEMENT(*list, i, *nvms); continue; } diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index 3f67cda9e9..39da10983e 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -461,8 +461,7 @@ libxlReconnectDomain(virDomainObj *vm, cleanup: libxl_dominfo_dispose(&d_info); - virObjectUnlock(vm); - virObjectUnref(vm); + virDomainObjEndAPI(&vm); virObjectUnref(cfg); return ret; -- 2.32.0

Instead of explicit virObjectUnlock(obj) + virObjectUnref(obj) combo the virInterfaceObjEndAPI() can be used. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/virinterfaceobj.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/conf/virinterfaceobj.c b/src/conf/virinterfaceobj.c index fa7a21c054..c5dfa6c7f5 100644 --- a/src/conf/virinterfaceobj.c +++ b/src/conf/virinterfaceobj.c @@ -462,8 +462,7 @@ virInterfaceObjListRemove(virInterfaceObjList *interfaces, virObjectRWLockWrite(interfaces); virObjectLock(obj); virHashRemoveEntry(interfaces->objsName, obj->def->name); - virObjectUnlock(obj); - virObjectUnref(obj); + virInterfaceObjEndAPI(&obj); virObjectRWUnlock(interfaces); } -- 2.32.0

Instead of explicit virObjectUnlock(obj) + virObjectUnref(obj) combo the virNWFilterBindingObjEndAPI() can be used. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/virnwfilterbindingobjlist.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/conf/virnwfilterbindingobjlist.c b/src/conf/virnwfilterbindingobjlist.c index 470a30ca90..212cca2265 100644 --- a/src/conf/virnwfilterbindingobjlist.c +++ b/src/conf/virnwfilterbindingobjlist.c @@ -114,11 +114,8 @@ virNWFilterBindingObjListFindByPortDev(virNWFilterBindingObjList *bindings, obj = virNWFilterBindingObjListFindByPortDevLocked(bindings, name); virObjectRWUnlock(bindings); - if (obj && virNWFilterBindingObjGetRemoving(obj)) { - virObjectUnlock(obj); - virObjectUnref(obj); - obj = NULL; - } + if (obj && virNWFilterBindingObjGetRemoving(obj)) + virNWFilterBindingObjEndAPI(&obj); return obj; } @@ -407,8 +404,7 @@ virNWFilterBindingObjListFilter(virNWFilterBindingObj ***list, */ if (virNWFilterBindingObjGetRemoving(binding) || (filter && !filter(conn, def))) { - virObjectUnlock(binding); - virObjectUnref(binding); + virNWFilterBindingObjEndAPI(&binding); VIR_DELETE_ELEMENT(*list, i, *nbindings); continue; } -- 2.32.0

Instead of explicit virObjectUnlock(obj) + virObjectUnref(obj) combo the virNodeDeviceObjEndAPI() can be used. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/virnodedeviceobj.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/conf/virnodedeviceobj.c b/src/conf/virnodedeviceobj.c index 165ec1f1dd..15898a6aa7 100644 --- a/src/conf/virnodedeviceobj.c +++ b/src/conf/virnodedeviceobj.c @@ -524,8 +524,7 @@ virNodeDeviceObjListRemove(virNodeDeviceObjList *devs, virObjectRWLockWrite(devs); virObjectLock(obj); virNodeDeviceObjListRemoveLocked(devs, obj); - virObjectUnlock(obj); - virObjectUnref(obj); + virNodeDeviceObjEndAPI(&obj); virObjectRWUnlock(devs); } -- 2.32.0

Instead of explicit virObjectUnlock(obj) + virObjectUnref(obj) combo the virSecretObjEndAPI() can be used. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/virsecretobj.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/conf/virsecretobj.c b/src/conf/virsecretobj.c index bdd5e4a6f7..212cfe103c 100644 --- a/src/conf/virsecretobj.c +++ b/src/conf/virsecretobj.c @@ -301,8 +301,7 @@ virSecretObjListRemove(virSecretObjList *secrets, virObjectRWLockWrite(secrets); virObjectLock(obj); virHashRemoveEntry(secrets->objs, uuidstr); - virObjectUnlock(obj); - virObjectUnref(obj); + virSecretObjEndAPI(&obj); virObjectRWUnlock(secrets); } -- 2.32.0

On Thu, Nov 11, 2021 at 10:28:16AM +0100, Michal Privoznik wrote:
*** BLURB HERE ***
Michal Prívozník (5): Use virDomainObjEndAPI() more Use virInterfaceObjEndAPI() more Use virNWFilterBindingObjEndAPI() more Use virNodeDeviceObjEndAPI() more Use virSecretObjEndAPI() more
src/conf/virdomainobjlist.c | 24 +++++++----------------- src/conf/virinterfaceobj.c | 3 +-- src/conf/virnodedeviceobj.c | 3 +-- src/conf/virnwfilterbindingobjlist.c | 10 +++------- src/conf/virsecretobj.c | 3 +-- src/libxl/libxl_driver.c | 3 +-- 6 files changed, 14 insertions(+), 32 deletions(-)
Seems reasonable, Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
-- 2.32.0
participants (2)
-
Martin Kletzander
-
Michal Privoznik