all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH container] pct fstrim: add 'ignore_mp' parameter
@ 2020-10-28 11:11 Oguz Bektas
  2020-10-28 16:16 ` Thomas Lamprecht
  0 siblings, 1 reply; 2+ messages in thread
From: Oguz Bektas @ 2020-10-28 11:11 UTC (permalink / raw)
  To: pve-devel

parameter to ignore mountpoints when doing fstrim on a container

root@pve:~# pct fstrim 123 --ignore_mp
/var/lib/lxc/123/rootfs/: 0 B (0 bytes) trimmed
root@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@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




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

* Re: [pve-devel] [PATCH container] pct fstrim: add 'ignore_mp' parameter
  2020-10-28 11:11 [pve-devel] [PATCH container] pct fstrim: add 'ignore_mp' parameter Oguz Bektas
@ 2020-10-28 16:16 ` Thomas Lamprecht
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Lamprecht @ 2020-10-28 16:16 UTC (permalink / raw)
  To: Proxmox VE development discussion, Oguz Bektas

On 28.10.20 12:11, Oguz Bektas wrote:
> parameter to ignore mountpoints when doing fstrim on a container
> 
> root@pve:~# pct fstrim 123 --ignore_mp
> /var/lib/lxc/123/rootfs/: 0 B (0 bytes) trimmed
> root@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@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');
> 






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

end of thread, other threads:[~2020-10-28 16:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-28 11:11 [pve-devel] [PATCH container] pct fstrim: add 'ignore_mp' parameter Oguz Bektas
2020-10-28 16:16 ` Thomas Lamprecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal