Currently, `pct fstrim` will run `fstrim` on all mountpoints
of the container, including bind and read-only mountpoints.
However, trimming a bind mountpoint might trim a host
filesystem, which users may not expect. Also, trimming can
be considered a write operation, which users may not expect
to be carried out on a read-only mountpoint.
Hence, exclude bind mointpoints and read-only mountpoints
from trimming.
Signed-off-by: Friedrich Weber <f.weber@proxmox.com>
name => 'fstrim',
path => 'fstrim',
method => 'POST',
- description => "Run fstrim on a chosen CT and its mountpoints.",
+ description => "Run fstrim on a chosen CT and its mountpoints, except bind or read-only mountpoints.",
parameters => {
additionalProperties => 0,
properties => {
PVE::LXC::Config->foreach_volume($conf, sub {
my ($name, $mp) = @_;
$path = $mp->{mp};
+ return if $mp->{type} eq 'bind' || $mp->{ro};
return if $param->{'ignore-mountpoints'} && $name =~ /^mp\d+/;
my $cmd = ["fstrim", "-v", "$rootdir$path"];
PVE::Tools::run_command($cmd, noerr => 1);