public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Maximiliano Sandoval <m.sandoval@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH ha-manager v3 5/6] watchdog-mux: break out of loop when updates are disabled
Date: Fri,  4 Jul 2025 15:39:01 +0200	[thread overview]
Message-ID: <20250704133902.398663-6-m.sandoval@proxmox.com> (raw)
In-Reply-To: <20250704133902.398663-1-m.sandoval@proxmox.com>

Without this check, if nfds is zero, the `continue` statement right
before of the `break` will prevent from breaking out of the loop and
existing the process.

If a node does not have corosync quorum, then neither the lrm or crm
will update watchdog-mux and this the epoll_wait will timeout, hence
nfds is zero in this case. The only case where one could break free from
the loop without this commit is if the watchdog updates are stopped, but
soon after we regain quorum.

In the next commit, the if guards for update_watchdog in the inner guard
will be removed, this is done to simplify the review process.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
 src/watchdog-mux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/watchdog-mux.c b/src/watchdog-mux.c
index 11571ec..4e2bdc6 100644
--- a/src/watchdog-mux.c
+++ b/src/watchdog-mux.c
@@ -253,7 +253,7 @@ int main(void) {
             goto err;
         }
 
-        if (nfds == 0) { // timeout
+        if (nfds == 0 && update_watchdog) { // timeout
 
             // check for timeouts
             if (update_watchdog) {
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


  parent reply	other threads:[~2025-07-04 13:38 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-04 13:38 [pve-devel] [PATCH ha-manager v3 0/6] watchdog-mux: sync log to disk before and after expiring Maximiliano Sandoval
2025-07-04 13:38 ` [pve-devel] [PATCH ha-manager v3 1/6] watchdog-mux: Use #define for 60s timeout Maximiliano Sandoval
2025-07-04 13:38 ` [pve-devel] [PATCH ha-manager v3 2/6] watchdog-mux: split if block in two if blocks Maximiliano Sandoval
2025-07-04 13:38 ` [pve-devel] [PATCH ha-manager v3 3/6] watchdog-mux: warn when about to expire Maximiliano Sandoval
2025-07-04 13:39 ` [pve-devel] [PATCH ha-manager v3 4/6] watchdog-mux: sync journal right after fence warning Maximiliano Sandoval
2025-07-04 13:39 ` Maximiliano Sandoval [this message]
2025-07-04 13:39 ` [pve-devel] [PATCH ha-manager v3 6/6] watchdog-mux: Remove wrapping if guard Maximiliano Sandoval
2025-07-17 16:00 ` [pve-devel] applied: [PATCH ha-manager v3 0/6] watchdog-mux: sync log to disk before and after expiring Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250704133902.398663-6-m.sandoval@proxmox.com \
    --to=m.sandoval@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal