[ovs-dev] [PATCH] windows: Crash when the handle communication device cannot be found

Alin Serdean aserdean at cloudbasesolutions.com
Thu Mar 9 09:58:25 UTC 2017


 
> On Fri, Feb 17, 2017 at 12:35:08PM +0000, Alin Serdean wrote:
> > When trying to uninstall/disable the OVS extension the driver will
> > fail to unload properly(require reboot)/hang until ovs-vswitchd is closed.
> >
> > The root cause of this behavior is because the handles from
> > ovs-vswitchd to the kernel communication devices are still opened
> > although the actual device was removed from the kernel.
> >
> > Trying to close the handles will also fail because they do not exist.
> >
> > The remaining option is to cause a crash and rely on the service
> > manager to restart ovs-vswitchd.
> >
> > Reported-at: https://github.com/openvswitch/ovs-issues/issues/27
> > Reported-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
> > Signed-off-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
> 
> I suggest using ovs_abort() instead of ovs_fatal() in this case, because of the
> intent of ovs_abort():
> 
>  * This function is preferred to ovs_fatal() in a situation where it would make
>  * sense for a monitoring process to restart the daemon.
> 
> On Linux, using ovs_abort() actually causes the monitoring process to
> automatically restart the daemon.  On Windows, I don't know whether it has
> that effect, but it at least makes the intent clear in the source code.
> 
> I'd still like to see a review from a Windows developer.
[Alin Serdean] Thanks for the review Ben. Both `ovs_fatal()` and `ovs_abort()` will have the same outcome(restarting the service). 


More information about the dev mailing list