[pve-devel] [PATCH container] pct fstrim: add 'ignore_mp' parameter
Thomas Lamprecht
t.lamprecht at proxmox.com
Wed Oct 28 17:16:39 CET 2020
On 28.10.20 12:11, Oguz Bektas wrote:
> 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 => {
1. new parameters are prefer as kebab-case, at least if that command provides
no other casing/separation variants in its options.
2. no description -> NAK
> + 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]*';
why is the regex in a string, not a // and why * ?
Could be also just:
return if $param->{'ignore-mountpoints'} && $name =~ /^mp\d+/;
but no hard feelings here.
> + }
> my $cmd = ["fstrim", "-v", "$rootdir$path"];
> PVE::Tools::run_command($cmd);
> });
> };
> - warn $@ if $@;
> + if (my $err = $@) {
> + warn $err;
> + }
not neded for this patch, and not really a improvement, the `warn $@ if $@;` is
quite widely used, and not considered as "bad", IIRC.
>
> PVE::LXC::umount_all($vmid, $storecfg, $conf, 0);
> PVE::LXC::Config->remove_lock($vmid, 'fstrim');
>
More information about the pve-devel
mailing list