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 E5C9D7AACC for ; Tue, 5 Jul 2022 15:17:07 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id DC9492FA97 for ; Tue, 5 Jul 2022 15:16:37 +0200 (CEST) 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 for ; Tue, 5 Jul 2022 15:16:33 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id E021E40FB3 for ; Tue, 5 Jul 2022 15:08:49 +0200 (CEST) From: Hannes Laimer To: pbs-devel@lists.proxmox.com Date: Tue, 5 Jul 2022 13:08:34 +0000 Message-Id: <20220705130834.14285-29-h.laimer@proxmox.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220705130834.14285-1-h.laimer@proxmox.com> References: <20220705130834.14285-1-h.laimer@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.041 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 T_SCC_BODY_TEXT_LINE -0.01 - URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [proxmox-backup-api.rs] Subject: [pbs-devel] [PATCH proxmox-backup 26/26] api: mark all removable datastores as 'unplugged' after restart 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: Tue, 05 Jul 2022 13:17:07 -0000 Signed-off-by: Hannes Laimer --- src/bin/proxmox-backup-api.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/bin/proxmox-backup-api.rs b/src/bin/proxmox-backup-api.rs index dda4b638..9614a6ea 100644 --- a/src/bin/proxmox-backup-api.rs +++ b/src/bin/proxmox-backup-api.rs @@ -8,6 +8,7 @@ use http::HeaderMap; use http::Response; use hyper::{Body, Method, StatusCode}; +use pbs_api_types::{DataStoreConfig, MaintenanceMode, MaintenanceType}; use proxmox_lang::try_block; use proxmox_router::{RpcEnvironmentType, UserInformation}; use proxmox_sys::fs::CreateOptions; @@ -159,6 +160,7 @@ async fn run() -> Result<(), Error> { proxmox_rest_server::write_pid(pbs_buildcfg::PROXMOX_BACKUP_API_PID_FN)?; let init_result: Result<(), Error> = try_block!({ + mark_removable_datastores_unplugged()?; proxmox_rest_server::register_task_control_commands(&mut commando_sock)?; commando_sock.spawn()?; proxmox_rest_server::catch_shutdown_signal()?; @@ -178,3 +180,16 @@ async fn run() -> Result<(), Error> { Ok(()) } + +fn mark_removable_datastores_unplugged() -> Result<(), Error> { + let (mut config, _digest) = pbs_config::datastore::config()?; + let list: Vec = config.convert_to_typed_array("datastore")?; + for mut datastore in list { + if datastore.removable { + datastore.set_maintenance_mode(MaintenanceMode::new(MaintenanceType::Unplugged, None)); + config.set_data(&datastore.name, "datastore", &datastore)?; + } + } + pbs_config::datastore::save_config(&config)?; + Ok(()) +} -- 2.30.2