From 48910f9b0a54315e0a8ee36727dd0a72fcf0693f Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Thu, 16 Dec 2021 08:51:33 +0100 Subject: [PATCH] api: zfs: create zpool with relatime=on some operations (e.g. garbage collection/restore/etc.) are very read intensive on the chunks, and having atime=on and relatime=off (zfs default) makes those write intensive operations too. Additionally, 'ext4' defaults to relatime, so also change the default for api-created zpools. Signed-off-by: Dominik Csapak --- src/api2/node/disks/zfs.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/api2/node/disks/zfs.rs b/src/api2/node/disks/zfs.rs index 3682d82f..5161d6be 100644 --- a/src/api2/node/disks/zfs.rs +++ b/src/api2/node/disks/zfs.rs @@ -273,13 +273,15 @@ pub fn create_zpool( crate::tools::systemd::enable_unit(&import_unit)?; } + let mut command = std::process::Command::new("zfs"); + command.arg("set"); if let Some(compression) = compression { - let mut command = std::process::Command::new("zfs"); - command.args(&["set", &format!("compression={}", compression), &name]); - task_log!(worker, "# {:?}", command); - let output = proxmox_sys::command::run_command(command, None)?; - task_log!(worker, "{}", output); + command.arg(&format!("compression={}", compression)); } + command.args(&["relatime=on", &name]); + task_log!(worker, "# {:?}", command); + let output = proxmox_sys::command::run_command(command, None)?; + task_log!(worker, "{}", output); if add_datastore { let lock = pbs_config::datastore::lock_config()?;