Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
On Thu, Sep 28, 2017 at 11:51:28AM +0200, Robert Altnoeder wrote: > On 09/28/2017 11:10 AM, Frank Rust wrote: > > Hi Roland, > > I am not a perl-friend too. > +1 > > + my $x=$size; > > + my $unit="gib"; # GiB is default > > + my $factor=1024*1024; > > + if ($x/$factor != int($x/$factor)) { > > + $factor=$factor/1024; $unit="mib"; > > + if ($x/$factor != int($x/$factor)) { > > + $factor=$factor/1024; $unit="kib"; > > + } > > + }; > > + $size=sprintf("%u%s",($x/$factor),$unit); > > + print "Size=$size\n"; > > + > > drbdmanage_cmd(['/usr/bin/drbdmanage', 'new-resource', $name], "Could not create resource $name"); > > drbdmanage_cmd(['/usr/bin/drbdmanage', 'new-volume', $name, $size], "Could not create-volume in $name resource"); > Apparently, the original size ($size) is in kiB, so the question would > rather be whether it makes much sense to recalculate the size in a > different unit if it is only going to be used for a machine-to-machine > interface. It does not make any sense. I will commit something along these lines soon: diff --git a/DRBDPlugin.pm b/DRBDPlugin.pm index c4c95e5..dea96f6 100644 --- a/DRBDPlugin.pm +++ b/DRBDPlugin.pm @@ -153,7 +153,7 @@ sub alloc_image { die "unable to allocate an image name for VM $vmid in storage '$storeid'\n" if !defined($name); - $size = ($size/1024/1024); + $size = $size . 'KiB'; drbdmanage_cmd(['/usr/bin/drbdmanage', 'new-resource', $name], "Could not create resource $name"); drbdmanage_cmd(['/usr/bin/drbdmanage', 'new-volume', $name, $size], "Could not create-volume in $name resource"); drbdmanage_cmd(['/usr/bin/drbdmanage', 'net-options', '--resource', $name, '--allow-two-primaries=yes'], "Could not set 'allow-two-primaries'"); @@ -308,7 +308,7 @@ sub deactivate_volume { sub volume_resize { my ($class, $scfg, $storeid, $volname, $size, $running) = @_; - $size = ($size/1024/1024/1024); + $size = ($size/1024) . 'kiB'; drbdmanage_cmd(['/usr/bin/drbdmanage', 'resize', $volname, 0, $size], "Could not resize $volname"); return 1; "Funny" fact: sometimes you get the size from proxmox in KiB, sometimes in bytes... Regards, rck