[pve-devel] [PATCH container] pct fstrim: add 'ignore_mp' parameter

Oguz Bektas o.bektas at proxmox.com
Wed Oct 28 12:11:35 CET 2020


parameter to ignore mountpoints when doing fstrim on a container

root at pve:~# pct fstrim 123 --ignore_mp
/var/lib/lxc/123/rootfs/: 0 B (0 bytes) trimmed
root at pve:~# pct fstrim 123
/var/lib/lxc/123/rootfs/: 0 B (0 bytes) trimmed
/var/lib/lxc/123/rootfs/test: 321.1 MiB (336654336 bytes) trimmed

Signed-off-by: Oguz Bektas <o.bektas at proxmox.com>
---
 src/PVE/CLI/pct.pm | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/PVE/CLI/pct.pm b/src/PVE/CLI/pct.pm
index df4e9f8..056ae78 100755
--- a/src/PVE/CLI/pct.pm
+++ b/src/PVE/CLI/pct.pm
@@ -767,6 +767,10 @@ __PACKAGE__->register_method ({
 	additionalProperties => 0,
 	properties => {
 	    vmid => get_standard_option('pve-vmid', { completion => \&PVE::LXC::complete_ctid }),
+	    ignore_mp => {
+		optional => 1,
+		type => 'boolean',
+	    },
 	},
     },
     returns => { type => 'null' },
@@ -785,11 +789,16 @@ __PACKAGE__->register_method ({
 	    PVE::LXC::Config->foreach_volume($conf, sub {
 		my ($name, $mp) = @_;
 		$path = $mp->{mp};
+		if ($param->{ignore_mp}) {
+		    return if $name =~ '^mp[0-9]*';
+		}
 		my $cmd = ["fstrim", "-v", "$rootdir$path"];
 		PVE::Tools::run_command($cmd);
 	    });
 	};
-	warn $@ if $@;
+	if (my $err = $@) {
+	    warn $err;
+	}
 
 	PVE::LXC::umount_all($vmid, $storecfg, $conf, 0);
 	PVE::LXC::Config->remove_lock($vmid, 'fstrim');
-- 
2.20.1





More information about the pve-devel mailing list