* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox