[pve-devel] [PATCH v2 manager 2/3] vzdump: handle pigz property string
Thomas Lamprecht
t.lamprecht at proxmox.com
Fri Feb 7 16:49:53 CET 2020
On 2/4/20 3:56 PM, Moayad Almalat wrote:
> From: Moayad <m.almalat at proxmox.com>
>
> Signed-off-by: Moayad <m.almalat at proxmox.com>
> ---
> PVE/VZDump.pm | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/PVE/VZDump.pm b/PVE/VZDump.pm
> index 3caa7ab8..0f04d4db 100644
> --- a/PVE/VZDump.pm
> +++ b/PVE/VZDump.pm
> @@ -405,6 +405,10 @@ sub new {
> }
> }
>
> + if (defined($opts->{pigz})) {
> + $opts->{pigz} = PVE::JSONSchema::parse_property_string(PVE::VZDump::Common::get_pigzdesc(), $opts->{pigz});
see the other mail regarding confdesc/pigzfmt - in general this line
would be to long either way.
I'd maybe also guard the parsing with a "ref" check, i.e., check if
our caller already parsed that property, for example something like:
if (defined($opts->{pigz}) && !ref($opts->{pigz})) {
...
> + }
> +
> $opts->{dumpdir} =~ s|/+$|| if ($opts->{dumpdir});
> $opts->{tmpdir} =~ s|/+$|| if ($opts->{tmpdir});
>
> @@ -582,8 +586,8 @@ sub compressor_info {
> } elsif ($opt_compress eq '1' || $opt_compress eq 'lzo') {
> return ('lzop', 'lzo');
> } elsif ($opt_compress eq 'gzip') {
> - if ($opts->{pigz} > 0) {
> - my $pigz_threads = $opts->{pigz};
> + if (defined($opts->{pigz}) && $opts->{pigz}->{threads} > 0) {
we do not really care about auto-vivification here so you could omit
the defined check here. We do not have any special behavior for
$opt->{pigz} existing but having a undef or {} value after all.
> + my $pigz_threads = $opts->{pigz}->{threads};
> if ($pigz_threads == 1) {
> my $cpuinfo = PVE::ProcFSTools::read_cpuinfo();
> $pigz_threads = int(($cpuinfo->{cpus} + 1)/2);
>
More information about the pve-devel
mailing list