* [pve-devel] [PATCH container] fix #4470: pct fstrim: ignore bind or read-only mountpoints
@ 2023-02-20 10:04 Friedrich Weber
2023-02-20 10:30 ` [pve-devel] applied: " Wolfgang Bumiller
0 siblings, 1 reply; 2+ messages in thread
From: Friedrich Weber @ 2023-02-20 10:04 UTC (permalink / raw)
To: pve-devel
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>
---
src/PVE/CLI/pct.pm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/PVE/CLI/pct.pm b/src/PVE/CLI/pct.pm
index 3ade2ba..d559d00 100755
--- a/src/PVE/CLI/pct.pm
+++ b/src/PVE/CLI/pct.pm
@@ -763,7 +763,7 @@ __PACKAGE__->register_method ({
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 => {
@@ -791,6 +791,7 @@ __PACKAGE__->register_method ({
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);
--
2.30.2
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-02-20 10:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-20 10:04 [pve-devel] [PATCH container] fix #4470: pct fstrim: ignore bind or read-only mountpoints Friedrich Weber
2023-02-20 10:30 ` [pve-devel] applied: " Wolfgang Bumiller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox