[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