public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox-backup v4 1/3] datastore: improve sync level code a bit
Date: Fri, 28 Oct 2022 09:34:47 +0200	[thread overview]
Message-ID: <20221028073449.1120342-2-d.csapak@proxmox.com> (raw)
In-Reply-To: <20221028073449.1120342-1-d.csapak@proxmox.com>

fixups for DatastoreFSyncLevel:
* use derive for Default
* add some more derives (Clone, Copy)

chunk store:
* drop to_owned for chunk_dir_path

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
 pbs-api-types/src/datastore.rs   | 9 ++-------
 pbs-datastore/src/chunk_store.rs | 5 ++---
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/pbs-api-types/src/datastore.rs b/pbs-api-types/src/datastore.rs
index 865a7b55..4c9eda2f 100644
--- a/pbs-api-types/src/datastore.rs
+++ b/pbs-api-types/src/datastore.rs
@@ -169,7 +169,7 @@ pub enum ChunkOrder {
 }
 
 #[api]
-#[derive(PartialEq, Eq, Serialize, Deserialize)]
+#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
 #[serde(rename_all = "lowercase")]
 /// The level of syncing that is done when writing into a datastore.
 pub enum DatastoreFSyncLevel {
@@ -181,6 +181,7 @@ pub enum DatastoreFSyncLevel {
     /// which reduces IO pressure.
     /// But it may cause losing data on powerloss or system crash without any uninterruptible power
     /// supply.
+    #[default]
     None,
     /// Triggers a fsync after writing any chunk on the datastore. While this can slow down
     /// backups significantly, depending on the underlying file system and storage used, it
@@ -198,12 +199,6 @@ pub enum DatastoreFSyncLevel {
     Filesystem,
 }
 
-impl Default for DatastoreFSyncLevel {
-    fn default() -> Self {
-        DatastoreFSyncLevel::None
-    }
-}
-
 #[api(
     properties: {
         "chunk-order": {
diff --git a/pbs-datastore/src/chunk_store.rs b/pbs-datastore/src/chunk_store.rs
index a8582485..75880331 100644
--- a/pbs-datastore/src/chunk_store.rs
+++ b/pbs-datastore/src/chunk_store.rs
@@ -470,11 +470,10 @@ impl ChunkStore {
 
         let chunk_dir_path = chunk_path
             .parent()
-            .ok_or_else(|| format_err!("unable to get chunk dir"))?
-            .to_owned();
+            .ok_or_else(|| format_err!("unable to get chunk dir"))?;
 
         proxmox_sys::fs::replace_file(
-            chunk_path,
+            &chunk_path,
             raw_data,
             CreateOptions::new(),
             self.sync_level == DatastoreFSyncLevel::File,
-- 
2.30.2





  reply	other threads:[~2022-10-28  7:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-28  7:34 [pbs-devel] [PATCH proxmox-backup v4 0/3] add 'sync-level' to datatore tuning options Dominik Csapak
2022-10-28  7:34 ` Dominik Csapak [this message]
2022-10-28 11:05   ` [pbs-devel] applied: [PATCH proxmox-backup v4 1/3] datastore: improve sync level code a bit Thomas Lamprecht
2022-10-28  7:34 ` [pbs-devel] [PATCH proxmox-backup v4 2/3] docs: add documentation about the 'sync-level' tuning Dominik Csapak
2022-10-28 11:11   ` [pbs-devel] applied: " Thomas Lamprecht
2022-10-28  7:34 ` [pbs-devel] [PATCH proxmox-backup v4 3/3] datastore: make 'filesystem' the default sync-level Dominik Csapak
2022-10-28 11:24   ` 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=20221028073449.1120342-2-d.csapak@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=pbs-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