Re: [PATCH] hv_set_ifconfig.sh double check before setting ip
From: David Miller
Date: Thu Aug 10 2017 - 12:12:57 EST
From: Eduardo Otubo <otubo@xxxxxxxxxx>
Date: Thu, 10 Aug 2017 09:40:27 +0200
> On 08/09/2017 11:02 AM, Eduardo Otubo wrote:
>> On 08/09/2017 06:11 AM, David Miller wrote:
>>> From: Eduardo Otubo <otubo@xxxxxxxxxx>
>>> Date: Tue, 8 Aug 2017 15:53:45 +0200
>>>
>>>> This patch fixes the behavior of the hv_set_ifconfig script when
>>>> setting
>>>> the interface ip. Sometimes the interface has already been configured
>>>> by
>>>> network daemon, in this case hv_set_ifconfig causes "RTNETLINK: file
>>>> exists error"; in order to avoid this error this patch makes sure
>>>> double
>>>> checks the interface before trying anything.
>>>>
>>>> Signed-off-by: Eduardo Otubo <otubo@xxxxxxxxxx>
>>>
>>> And if the daemon sets the address after you test it but before
>>> you try to set it in the script, what happens?
>>>
>>> This is why I hate changes like this. They don't remove the problem,
>>> they make it smaller. And smaller in a bad way. Smaller makes the
>>> problem even more harder to diagnose when it happens.
>>>
>>> There is implicitly no synchonization between network configuration
>>> daemons and things people run by hand like this script.
>>>
>>> So, caveat emptor.
>>>
>>> I'm not applying this, sorry.
>
> But also, looking from a different point of view, the current upstream
> solution does not avoid the problems you mentioned. My fix at least
> avoids double configuration and RTNETLINK errors. So perhaps you could
> consider this as "a better version walking towards an ideal fix"?
I didn't say upstream avoids the problem.
In fact, that's the good thing. It doesn't try to do something it
cannot do without explicit pieces of synchronization infrastructure
between such tools.