On 07/21/2017 04:22 AM, Pavel Hrdina wrote:
On Thu, Jul 20, 2017 at 05:38:53PM -0400, John Ferlan wrote:
> On 07/14/2017 11:37 AM, Pavel Hrdina wrote:
>> On Tue, May 09, 2017 at 11:30:17AM -0400, John Ferlan wrote:
>>> In preparation for making a private object, create accessor API's for
>>> consumer storage functions to use:
>>>
>>> virStoragePoolObjGetDef
>>> virStoragePoolObjGetNewDef
>>> virStoragePoolObjStealNewDef
>>> virStoragePoolObjGetConfigFile
>>> virStoragePoolObjSetConfigFile
>>> virStoragePoolObjIsActive
>>> virStoragePoolObjSetActive
>>> virStoragePoolObjGetAsyncjobs
>>> virStoragePoolObjIncrAsyncjobs
>>> virStoragePoolObjDecrAsyncjobs
>>>
>>> Signed-off-by: John Ferlan <jferlan(a)redhat.com>
>>> ---
>>> src/conf/virstorageobj.c | 74
++++++++++++++++++++++++++++++++++++++++++++++++
>>> src/conf/virstorageobj.h | 36 +++++++++++++++++++----
>>> src/libvirt_private.syms | 10 +++++++
>>> 3 files changed, 115 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/src/conf/virstorageobj.c b/src/conf/virstorageobj.c
>>> index 23346f3..7d6b311 100644
>>> --- a/src/conf/virstorageobj.c
>>> +++ b/src/conf/virstorageobj.c
>>> @@ -37,6 +37,80 @@
>>> VIR_LOG_INIT("conf.virstorageobj");
>>
>> [...]
>>
>>> +void
>>> +virStoragePoolObjStealNewDef(virStoragePoolObjPtr obj)
>>> +{
>>> + virStoragePoolDefFree(obj->def);
>>> + obj->def = obj->newDef;
>>> + obj->newDef = NULL;
>>> +}
>>
>> I didn't notice this until the usage in following patches, the
"Steal"
>> part of the name is confusing. We have a macro "VIR_STEAL_PTR" which
>> returns pointer and sets the original one to NULL. This function
>> doesn't return the pointer, it replaces @def with @newDef.
>>
>> How about virStoragePoolObjUseNewDef() or
>> virStoragePoolObjDefUseNewDef() or feel free to come up with another
>> name which would be better than "Steel".
>>
>> Pavel
>>
>
> It's theft by deception.
>
> How about virStoragePoolObjDefSwapNewDef
"Swap" is not a good choice as well, it replaces and discards the
original @def by @newDef, "Swap" can mean that the @def will be @newDef.
Pavel
I'll go with virStoragePoolObjDefUseNewDef
Although it's more like :
virStoragePoolObjDefFreeAndAssignNewDefToDef
at some point the name of the function can be too descriptive and too
long;-). Not sure Use is the best either, but I did waste some time
looking at synonyms with nothing that made me think - yeah *that's* it
although Transmogrify came close (google transmogrify+calvin+hobbes -
when I worked at HP that's what we called the layer that "converted" or
"virtualized" privileged machine instructions into instructions that the
guest could run).
John