* [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