Re: [PATCH] network: fix connections count in case of allocate failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05.11.2013 11:33, Laine Stump wrote:
> This resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1020135
> 
> If networkAllocateActualDevice() had failed due to a pool of hostdev
> or direct devices being depleted, the calling function could still
> call networkReleaseActualDevice() as part of its cleanup, and that
> function would then unconditionally decrement the connections count
> for the network, even though it hadn't been incremented (due to
> failure of allocate). This *was* necessary because the .actual member
> of the netdef was allocated with a "lazy" algorithm, only being
> created if there was a need to store data there (e.g. if a device was
> allocated from a pool, or bandwidth was allocated for the device), so
> there was no simple way for networkReleaseActualDevice() to tell if
> something really had been allocated (i.e. if "connections++" had been
> executed).
> 
> This patch changes networkAllocateDevice() to *always* allocate an
> actual device for any netdef of type='network', even if it isn't
> needed for any other reason. This has no ill effects anywhere else in
> the code (except for using a small amount of memory), and
> networkReleaseActualDevice() can then determine if there was a
> previous successful allocate by checking for .actual != NULL (if not,
> it skips the "connections--").
> ---
>  src/network/bridge_driver.c | 41 +++++++++++------------------------------
>  1 file changed, 11 insertions(+), 30 deletions(-)

ACK

Michal

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]