On February 7, 2020 4:28 pm, Thomas Lamprecht wrote: > On 2/4/20 3:56 PM, Moayad Almalat wrote: >> From: Moayad <m.alma...@proxmox.com> >> >> and add blocksize property. >> >> Signed-off-by: Moayad <m.alma...@proxmox.com> >> --- >> PVE/VZDump/Common.pm | 26 ++++++++++++++++++++++---- >> 1 file changed, 22 insertions(+), 4 deletions(-) >> >> diff --git a/PVE/VZDump/Common.pm b/PVE/VZDump/Common.pm >> index 4789a50..0ee7aba 100644 >> --- a/PVE/VZDump/Common.pm >> +++ b/PVE/VZDump/Common.pm >> @@ -60,6 +60,21 @@ sub parse_dow { >> return $res; >> }; >> >> +my $pigzdesc = { > > this is a format, while I get where you come from I think it's > nicer to have that envoded in the name of schema definitions for > property string formats. > > my $pigzfmt = { > >> + threads => { >> + type => "integer", >> + description => "Use pigz instead of gzip when N>0.". >> + " N=1 uses half of cores, N>1 uses N as thread count.", >> + default => 0, >> + default_key => 1, >> + }, >> + blocksize => { >> + type => "integer", >> + description => "blocksize for compression with pigz", >> + optional => 1, >> + }, >> +}; >> + >> my $confdesc = { >> vmid => { >> type => 'string', format => 'pve-vmid-list', >> @@ -92,11 +107,10 @@ my $confdesc = { >> default => '0', >> }, >> pigz=> { >> - type => "integer", >> - description => "Use pigz instead of gzip when N>0.". >> - " N=1 uses half of cores, N>1 uses N as thread count.", >> + type => 'string', >> + description => "pigz settings.", >> + format => $pigzdesc, >> optional => 1, >> - default => 0, >> }, >> quiet => { >> type => 'boolean', >> @@ -220,6 +234,10 @@ sub get_confdesc { >> return $confdesc; >> } >> >> +sub get_pigzdesc { >> + return $pigzdesc; >> +} > > not really required, isn't it? We already have the get_confdesc sub, from > which you can > get the format. > > my $vzdumpdesc = PVE::VZDump::Common::get_confdesc(); > my $pigzfmt = $vzdumpdesc->{pigz}->{format}; > > This way we can avoid an dependency version bump from the pve-manager package > to > libpve-guest-common-perl package too.
we still need the versioned dependency, since the schema has changed in a breaking way.. unless we want to have compat code in pve-manager that upgrades the old, non-property string integer to a hash with just that property set, just to avoid the versioned dependency ;) > >> + >> # add JSON properties for create and set function >> sub json_config_properties { >> my $prop = shift; >> > > > _______________________________________________ > pve-devel mailing list > pve-devel@pve.proxmox.com > https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel > > _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel