From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 8A247630DD for ; Mon, 24 Jan 2022 13:32:46 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 8085921B16 for ; Mon, 24 Jan 2022 13:32:16 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 0A94421AEA for ; Mon, 24 Jan 2022 13:32:15 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id D874346151 for ; Mon, 24 Jan 2022 13:32:14 +0100 (CET) From: Hannes Laimer To: pbs-devel@lists.proxmox.com Cc: Thomas Lamprecht Date: Mon, 24 Jan 2022 13:31:58 +0100 Message-Id: <20220124123159.27086-8-h.laimer@proxmox.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220124123159.27086-1-h.laimer@proxmox.com> References: <20220124123159.27086-1-h.laimer@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.044 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% 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 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [datastore.rs] Subject: [pbs-devel] [PATCH proxmox-backup v5 7/8] datastore: avoid tuple-match, use plain if X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Jan 2022 12:32:46 -0000 From: Thomas Lamprecht and render the offline/read-only errors differently Signed-off-by: Thomas Lamprecht Signed-off-by: Hannes Laimer --- pbs-datastore/src/datastore.rs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pbs-datastore/src/datastore.rs b/pbs-datastore/src/datastore.rs index 774dea80..c643bc55 100644 --- a/pbs-datastore/src/datastore.rs +++ b/pbs-datastore/src/datastore.rs @@ -101,13 +101,15 @@ impl DataStore { let config: DataStoreConfig = config.lookup("datastore", name)?; let path = PathBuf::from(&config.path); - match (&config.maintenance_type, operation) { - (Some(MaintenanceType::ReadOnly(message)), Some(Operation::Write)) - | (Some(MaintenanceType::Offline(message)), Some(_)) => { - bail!("Datastore '{}' is in maintenance mode: {}", name, message); - }, - (_, Some(operation)) => update_active_operations(name, operation, 1)?, - _ => {} + if let Some(MaintenanceType::Offline(message)) = &config.maintenance_type { + bail!("datastore '{}' is in offline maintenance mode: {}", name, message); + } else if let Some(MaintenanceType::ReadOnly(message)) = &config.maintenance_type { + if let Some(Operation::Write) = operation { + bail!("datastore '{}' is in read-only maintenance mode: {}", name, message); + } + } + if let Some(op) = operation { + update_active_operations(name, op, 1)?; } let mut map = DATASTORE_MAP.lock().unwrap(); -- 2.30.2