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
next prev parent 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