[libvirt] [PATCH 3/8] test: Refactor test driver domain object retrieval
Michal Privoznik
mprivozn at redhat.com
Fri Jun 19 14:45:07 UTC 2015
On 16.06.2015 19:43, Peter Krempa wrote:
> Add testDomObjFromDomainLocked and reuse it together with
> testDomObjFromDomain to retrieve domain objects in the qemu driver
s/qemu/test/
> instead of open-coding it in every API.
> ---
> src/test/test_driver.c | 409 +++++++++++--------------------------------------
> 1 file changed, 92 insertions(+), 317 deletions(-)
>
> diff --git a/src/test/test_driver.c b/src/test/test_driver.c
> index 6613ed7..dc6e49a 100644
> --- a/src/test/test_driver.c
> +++ b/src/test/test_driver.c
> @@ -477,13 +477,12 @@ static int testStoragePoolObjSetDefaults(virStoragePoolObjPtr pool);
> static int testNodeGetInfo(virConnectPtr conn, virNodeInfoPtr info);
>
> static virDomainObjPtr
> -testDomObjFromDomain(virDomainPtr domain)
> +testDomObjFromDomainLocked(testConnPtr driver,
> + virDomainPtr domain)
> {
> virDomainObjPtr vm;
> - testConnPtr driver = domain->conn->privateData;
> char uuidstr[VIR_UUID_STRING_BUFLEN];
>
> - testDriverLock(driver);
> vm = virDomainObjListFindByUUIDRef(driver->domains, domain->uuid);
> if (!vm) {
> virUUIDFormat(domain->uuid, uuidstr);
> @@ -492,10 +491,22 @@ testDomObjFromDomain(virDomainPtr domain)
> uuidstr, domain->name);
> }
>
> - testDriverUnlock(driver);
> return vm;
> }
>
> +static virDomainObjPtr
> +testDomObjFromDomain(virDomainPtr domain)
> +{
> + testConnPtr driver = domain->conn->privateData;
> + virDomainObjPtr ret;
> +
> + testDriverLock(driver);
> + ret = testDomObjFromDomainLocked(driver, domain);
> + testDriverUnlock(driver);
> +
> + return ret;
> +}
> +
I don't think this is necessary. As I've said in the previous e-mail -
domainObjList has self-locking APIs. And the driver->domains is
immutable pointer. Or am I missing something?
ACK to the rest though.
Michal
More information about the libvir-list
mailing list