public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* Re: [PATCH proxmox-backup 5/5] api: set default fstrim schedule on datastore create
@ 2026-03-24 14:08 Fabian Grünbichler
  0 siblings, 0 replies; 2+ messages in thread
From: Fabian Grünbichler @ 2026-03-24 14:08 UTC (permalink / raw)
  To: Christian Ebner, pbs-devel

On March 19, 2026 3:36 pm, Christian Ebner wrote:
> Default to set a weekly fstrim schedule for newly created datastores.
> 
> Do not set when crating a datastore via the ZFS dialog, as it does
> not support discard.

that is not true, it just doesn't support triggering discard/trim via
fstrim.. which might be true for other file systems as well, not sure?

> 
> Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
> ---
>  src/api2/config/datastore.rs     | 1 +
>  src/api2/node/disks/directory.rs | 6 ++++--
>  2 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/src/api2/config/datastore.rs b/src/api2/config/datastore.rs
> index b10b7fb0a..45df53c72 100644
> --- a/src/api2/config/datastore.rs
> +++ b/src/api2/config/datastore.rs
> @@ -336,6 +336,7 @@ pub fn create_datastore(
>      // clearing prune settings in the datastore config, as they are now handled by prune jobs
>      let config = DataStoreConfig {
>          prune_schedule: None,
> +        fstrim_schedule: config.fstrim_schedule.or(Some("weekly".to_string())),
>          keep: KeepOptions::default(),
>          ..config
>      };
> diff --git a/src/api2/node/disks/directory.rs b/src/api2/node/disks/directory.rs
> index c37d65b8d..42cd1d2d7 100644
> --- a/src/api2/node/disks/directory.rs
> +++ b/src/api2/node/disks/directory.rs
> @@ -242,10 +242,12 @@ pub fn create_datastore_disk(
>                  let lock = pbs_config::datastore::lock_config()?;
>                  let datastore: DataStoreConfig = if removable_datastore {
>                      serde_json::from_value(
> -                        json!({ "name": name, "path": name, "backing-device": uuid }),
> +                        json!({ "name": name, "path": name, "backing-device": uuid , "fstrim-schedule": "weekly" }),
>                      )?
>                  } else {
> -                    serde_json::from_value(json!({ "name": name, "path": mount_point }))?
> +                    serde_json::from_value(
> +                        json!({ "name": name, "path": mount_point, "fstrim-schedule": "weekly" }),
> +                    )?
>                  };
>                  let (config, _digest) = pbs_config::datastore::config()?;
>  
> -- 
> 2.47.3
> 
> 
> 
> 
> 
> 




^ permalink raw reply	[flat|nested] 2+ messages in thread
* [RFC proxmox{,-backup} 0/6] add scheduled fstrim job for datastore's backing filesystems
@ 2026-03-19 14:36 Christian Ebner
  2026-03-19 14:36 ` [PATCH proxmox-backup 5/5] api: set default fstrim schedule on datastore create Christian Ebner
  0 siblings, 1 reply; 2+ messages in thread
From: Christian Ebner @ 2026-03-19 14:36 UTC (permalink / raw)
  To: pbs-devel

As reported in the community forum [0], the default systemd service
to run fstrim does not cover datastores mounted via systemd mount
unit, since the fstrim command is invoked via:
```
fstrim --listed-in /etc/fstab:/proc/self/mountinfo ...
```
which however only considers the list up to the first non-empty
file according to the man page [1].

To allow for easy configuration of scheduled fstrims also on
filesystems backing datastores in PBS, implement a scheduled job
with per-datastore schedule configuration. Enable and default to
executing the fstrim job for new datastores (except crated via ZFS
dialog).

Open question remaining:
How to best handle datastores located on ZFS? Should the command default
to zpool trim? Should it set `autotrim=on` on datastore creation instead
and silently ignore as it is now?

[0] https://forum.proxmox.com/threads/181764/
[1] https://www.man7.org/linux/man-pages/man8/fstrim.8.html


proxmox:

Christian Ebner (1):
  pbs-api-types: define fstrim schedule on datastore config

 pbs-api-types/src/datastore.rs | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)


proxmox-backup:

Christian Ebner (5):
  tools: add helper to run fstrim command on path or mountpoint
  api: config: expose fstrim schedule for datastores
  bin: proxy: periodically schedule fstrim on datastore's filesystems
  ui: expose per-datastore fstrim job schedule
  api: set default fstrim schedule on datastore create

 src/api2/config/datastore.rs     | 10 ++++++
 src/api2/node/disks/directory.rs |  6 ++--
 src/bin/proxmox-backup-proxy.rs  | 59 ++++++++++++++++++++++++++++++++
 src/tools/disks/mod.rs           | 10 ++++++
 www/Makefile                     |  1 +
 www/datastore/OptionView.js      |  7 ++++
 www/window/FstrimJobEdit.js      | 27 +++++++++++++++
 7 files changed, 118 insertions(+), 2 deletions(-)
 create mode 100644 www/window/FstrimJobEdit.js


Summary over all repositories:
  8 files changed, 134 insertions(+), 2 deletions(-)

-- 
Generated by murpp 0.9.0




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-03-24 14:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-03-24 14:08 [PATCH proxmox-backup 5/5] api: set default fstrim schedule on datastore create Fabian Grünbichler
  -- strict thread matches above, loose matches on Subject: below --
2026-03-19 14:36 [RFC proxmox{,-backup} 0/6] add scheduled fstrim job for datastore's backing filesystems Christian Ebner
2026-03-19 14:36 ` [PATCH proxmox-backup 5/5] api: set default fstrim schedule on datastore create Christian Ebner

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