[libvirt] [PATCH v4 1/2] rpc: When adding srv to dmn servers, need to add ref
jferlan at redhat.com
Fri Oct 27 11:20:09 UTC 2017
On 10/27/2017 02:29 AM, Nikolay Shirokovskiy wrote:
> On 27.10.2017 08:26, John Ferlan wrote:
>> From: Nikolay Shirokovskiy <nshirokovskiy at virtuozzo.com>
>> Commit id '252610f7d' modified net server management to use a
>> hash table to store/manage the various servers; however, during
>> virNetDaemonAddServerPostExec an @srv object is created, added
>> to the dmn->servers hash table, but did not increment the object
>> refcnt like was done during virNetDaemonAddServer as if @srv
>> were being created for the first time.
> I'm not agree that 252610f7d introduced the problem. Before this
> commit the situation was the same as now. virNetDaemonAddServer
> takes extra reference, virNetDaemonAddServerPostExec does not
> take extra reference, virNetDaemonDispose unref every server
> in array (just as hash table does). lock daemon does not store
> object returned by virNetDaemonAddServerPostExec and log daemon
> store the object and unref it in virLogDaemonFree.
So I dug deeper and can alter the commit message to:
Commit id 'fa1420736' introduced virNetDaemonAddServerPostExec
and virNetDaemonAddServer; however, for the former when adding
@srv to the dmn->servers list, there was no corresponding virObjectRef
as there was in the latter.
Commit id '252610f7d' modified net server management to use a
hash table to store/manage the various servers and did not alter
the code to add the object reference.
More information about the libvir-list