From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id B22E21FF14C for ; Fri, 26 Jun 2026 14:10:51 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 0C4EAF244; Fri, 26 Jun 2026 14:10:50 +0200 (CEST) From: Thomas Lamprecht To: pve-devel@lists.proxmox.com Subject: [PATCH cluster 08/13] pmxcfs: track cluster-wide multipath configuration Date: Fri, 26 Jun 2026 14:07:38 +0200 Message-ID: <20260626121000.2095591-9-t.lamprecht@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260626121000.2095591-1-t.lamprecht@proxmox.com> References: <20260626121000.2095591-1-t.lamprecht@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1782475801727 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.005 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: GLSFHOSPE665CSZ4X6B5FBKXK2IWXU6Q X-Message-ID-Hash: GLSFHOSPE665CSZ4X6B5FBKXK2IWXU6Q X-MailFrom: t.lamprecht@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: pve-storage registers two cluster-wide files via cfs_register_file: the managed /etc/pve/multipath.cfg (the WWID allow-list plus the global and per-LUN multipathd knobs) and /etc/pve/multipath-overrides.conf for the free-form, admin-owned hardware override sections. Both need to be observed and tracked for change notification, so they are replicated across the cluster and consumers are notified on change. Signed-off-by: Thomas Lamprecht --- src/PVE/Cluster.pm | 2 ++ src/pmxcfs/status.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/PVE/Cluster.pm b/src/PVE/Cluster.pm index 034b78c..0a53549 100644 --- a/src/PVE/Cluster.pm +++ b/src/PVE/Cluster.pm @@ -50,6 +50,8 @@ my $observed = { 'vzdump.conf' => 1, 'jobs.cfg' => 1, 'storage.cfg' => 1, + 'multipath.cfg' => 1, + 'multipath-overrides.conf' => 1, 'datacenter.cfg' => 1, 'replication.cfg' => 1, 'corosync.conf' => 1, diff --git a/src/pmxcfs/status.c b/src/pmxcfs/status.c index 12a6c46..70dcc72 100644 --- a/src/pmxcfs/status.c +++ b/src/pmxcfs/status.c @@ -80,6 +80,8 @@ static memdb_change_t memdb_change_array[] = { {.path = "corosync.conf"}, {.path = "corosync.conf.new"}, {.path = "storage.cfg"}, + {.path = "multipath.cfg"}, + {.path = "multipath-overrides.conf"}, {.path = "user.cfg"}, {.path = "domains.cfg"}, {.path = "notifications.cfg"}, -- 2.47.3