提交 c1c235eb 编写于 作者: D Daniel P. Berrangé

network: clear cached error if we successfully create firewall chains

Since:

  commit 9f4e35dc
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   Mon Mar 18 17:31:21 2019 +0000

    network: improve error report when firewall chain creation fails

We cache an error when failing to create the top level firewall chains.
This commit failed to account for fact that we may invoke
networkPreReloadFirewallRules() many times while libvirtd is running.
For example when firewalld is restarted.

When this happens the original failure may no longer occurr and we'll
successfully create our top level chains. We failed to clear the cached
error resulting in us failing to start virtual networks.
Reviewed-by: NLaine Stump <laine@laine.org>
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
上级 d28102e5
......@@ -55,6 +55,9 @@ void networkPreReloadFirewallRules(bool startup)
if (rc < 0) {
errInitV4 = virSaveLastError();
virResetLastError();
} else {
virFreeError(errInitV4);
errInitV4 = NULL;
}
if (rc)
created = true;
......@@ -63,6 +66,9 @@ void networkPreReloadFirewallRules(bool startup)
if (rc < 0) {
errInitV6 = virSaveLastError();
virResetLastError();
} else {
virFreeError(errInitV6);
errInitV6 = NULL;
}
if (rc)
created = true;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册