Hi, sadly not... and there is no flag to force a specific unit. Sadly they also use M and MB for megabytes...
But it's working fine with this patch. I just was no sure if unittobytes should be a general function in PVE::Storage::Plugin as the ISCSIDirect plugin uses something similiar. Stefan Am 22.01.2013 06:52, schrieb Alexandre DERUMIER: > Good catch, I Thinked that values was always Megabytes :/ > > > ----- Mail original ----- > > De: "Stefan Priebe" <[email protected]> > À: [email protected] > Envoyé: Lundi 21 Janvier 2013 15:23:47 > Objet: [pve-devel] [PATCH] RBDPlugin: introduce rbd_unittobytes / rbd tends > to be human readable > > > Signed-off-by: Stefan Priebe <[email protected]> > --- > PVE/Storage/RBDPlugin.pm | 20 +++++++++++++------- > 1 file changed, 13 insertions(+), 7 deletions(-) > > diff --git a/PVE/Storage/RBDPlugin.pm b/PVE/Storage/RBDPlugin.pm > index 1e27ccb..e77b768 100644 > --- a/PVE/Storage/RBDPlugin.pm > +++ b/PVE/Storage/RBDPlugin.pm > @@ -9,6 +9,14 @@ use PVE::JSONSchema qw(get_standard_option); > > use base qw(PVE::Storage::Plugin); > > +sub rbd_unittobytes { > + { > + "M" => 1024*1024, > + "G" => 1024*1024*1024, > + "T" => 1024*1024*1024*1024, > + } > +} > + > my $rbd_cmd = sub { > my ($scfg, $storeid, $op, @options) = @_; > > @@ -51,12 +59,12 @@ sub rbd_ls { > my $parser = sub { > my $line = shift; > > - if ($line =~ m/^(vm-(\d+)-disk-\d+)\s+(\d+)M\s((\S+)\/(vm-\d+-\S+@\S+))?/) > { > - my ($image, $owner, $size, $parent) = ($1, $2, $3, $6); > + if ($line =~ > m/^(vm-(\d+)-disk-\d+)\s+(\d+)(M|G|T)\s((\S+)\/(vm-\d+-\S+@\S+))?/) { > + my ($image, $owner, $size, $unit, $parent) = ($1, $2, $3, $4, $7); > > $list->{$scfg->{pool}}->{$image} = { > name => $image, > - size => $size*1024*1024, > + size => $size*rbd_unittobytes()->{$unit}, > parent => $parent, > vmid => $owner > }; > @@ -83,8 +91,8 @@ sub rbd_volume_info { > my $parser = sub { > my $line = shift; > > - if ($line =~ m/size (\d+) MB in (\d+) objects/) { > - $size = $1; > + if ($line =~ m/size (\d+) (M|G|T)B in (\d+) objects/) { > + $size = $1 * $unittobytes{$2} if ($1); > } elsif ($line =~ m/parent:\s(\S+)\/(\S+)/) { > $parent = $2; > } > @@ -92,8 +100,6 @@ sub rbd_volume_info { > > run_command($cmd, errmsg => "rbd error", errfunc => sub {}, outfunc => > $parser); > > - $size = $size*1024*1024 if $size; > - > return ($size, $parent); > } > _______________________________________________ pve-devel mailing list [email protected] http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
