Re: [PATCH v2] virnetdevmacvlan.c: Introduce mutex for macvlan creation

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

 



On 01.03.2013 11:45, Daniel P. Berrange wrote:
> On Fri, Mar 01, 2013 at 11:36:24AM +0100, Michal Privoznik wrote:
>> Currently, after we removed the qemu driver lock, it may happen
>> that two or more threads will start up a machine with macvlan and
>> race over virNetDevMacVLanCreateWithVPortProfile(). However,
>> there's a racy section in which we are generating a sequence of
>> possible device names and detecting if they exits. If we found
>> one which doesn't we try to create a device with that name.
>> However, the other thread is doing just the same. Assume it will
>> succeed and we must therefore fail. If this happens more than 5
>> times (which in massive parallel startup surely will) we return
>> -1 without any error reported. This patch is a simple hack to
>> both of these problems. It introduces a mutex, so only one thread
>> will enter the section, and if it runs out of possibilities,
>> error is reported. Moreover, the number of retries is raised to 20.
>> ---
>>
>> diff to v1:
>> -don't increase @retries
>> -move error reporting to virNetDevMacVLanCreateMutexOnceInit
>>
>>  src/util/virnetdevmacvlan.c | 37 ++++++++++++++++++++++++++++++++-----
>>  1 file changed, 32 insertions(+), 5 deletions(-)
>>

> 
> ACK
> 
> Daniel
> 

Thanks, pushed.

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]