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 1AF481FF168 for ; Mon, 14 Oct 2024 15:42:18 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id A92A736055; Mon, 14 Oct 2024 15:42:49 +0200 (CEST) Date: Mon, 14 Oct 2024 15:42:13 +0200 From: Fabian =?iso-8859-1?q?Gr=FCnbichler?= To: Proxmox Backup Server development discussion References: <20240904141155.350454-1-h.laimer@proxmox.com> <20240904141155.350454-4-h.laimer@proxmox.com> In-Reply-To: <20240904141155.350454-4-h.laimer@proxmox.com> MIME-Version: 1.0 User-Agent: astroid/0.16.0 (https://github.com/astroidmail/astroid) Message-Id: <1728906937.25jay506zg.astroid@yuna.none> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.049 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 Subject: Re: [pbs-devel] [PATCH proxmox-backup v12 03/26] pbs-api-types: add backing-device to DataStoreConfig 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: , Reply-To: Proxmox Backup Server development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" following the rest of the series.. `path` is now either - the absolute path to the datastore directory (regular datastores) - the relative path to the datastore directory on a removable device (removable datastores) the schema only tells us it's a "Directory name". I see room for improvement there ;) On September 4, 2024 4:11 pm, Hannes Laimer wrote: > Signed-off-by: Hannes Laimer > --- > pbs-api-types/src/datastore.rs | 27 ++++++++++++++++++++++++++- > 1 file changed, 26 insertions(+), 1 deletion(-) > > diff --git a/pbs-api-types/src/datastore.rs b/pbs-api-types/src/datastore.rs > index a5704c93..863ed317 100644 > --- a/pbs-api-types/src/datastore.rs > +++ b/pbs-api-types/src/datastore.rs > @@ -160,6 +160,9 @@ pub const PRUNE_SCHEMA_KEEP_YEARLY: Schema = > .minimum(1) > .schema(); > > +/// Base directory where datastores are mounted > +pub const DATASTORE_MOUNT_DIR: &str = "/mnt/datastore"; > + > #[api] > #[derive(Debug, Default, Copy, Clone, PartialEq, Eq, Serialize, Deserialize)] > #[serde(rename_all = "lowercase")] > @@ -273,6 +276,12 @@ pub const DATASTORE_TUNING_STRING_SCHEMA: Schema = StringSchema::new("Datastore > format: &ApiStringFormat::PropertyString(&MaintenanceMode::API_SCHEMA), > type: String, > }, > + "backing-device": { > + description: "The UUID of the filesystem partition for removable datastores.", > + optional: true, > + format: &proxmox_schema::api_types::UUID_FORMAT, > + type: String, > + } > } > )] > #[derive(Serialize, Deserialize, Updater, Clone, PartialEq)] > @@ -320,6 +329,11 @@ pub struct DataStoreConfig { > /// Maintenance mode, type is either 'offline' or 'read-only', message should be enclosed in " > #[serde(skip_serializing_if = "Option::is_none")] > pub maintenance_mode: Option, > + > + /// The UUID of the device(for removable datastores) > + #[updater(skip)] > + #[serde(skip_serializing_if = "Option::is_none")] > + pub backing_device: Option, > } > > #[api] > @@ -354,12 +368,23 @@ impl DataStoreConfig { > notification_mode: None, > tuning: None, > maintenance_mode: None, > + backing_device: None, > } > } > > /// Returns the absolute path to the datastore content. > pub fn absolute_path(&self) -> String { > - self.path.clone() > + if self.backing_device.is_some() { > + format!("{DATASTORE_MOUNT_DIR}/{}", self.name) see comment on patch #7 > + } else { > + self.path.clone() > + } > + } > + > + pub fn get_mount_point(&self) -> Option { > + self.backing_device > + .is_some() > + .then(|| format!("{DATASTORE_MOUNT_DIR}/{}", self.name)) > } > > pub fn get_maintenance_mode(&self) -> Option { > -- > 2.39.2 > > > > _______________________________________________ > pbs-devel mailing list > pbs-devel@lists.proxmox.com > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel > > > _______________________________________________ pbs-devel mailing list pbs-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel