[pve-devel] [PATCH] RBDPlugin: introduce rbd_unittobytes / rbd tends to be human readable

Dietmar Maurer dietmar at proxmox.com
Tue Jan 22 11:15:52 CET 2013


applied, thanks!

> -----Original Message-----
> From: pve-devel-bounces at pve.proxmox.com [mailto:pve-devel-
> bounces at pve.proxmox.com] On Behalf Of Stefan Priebe
> Sent: Montag, 21. Jänner 2013 15:24
> To: pve-devel at pve.proxmox.com
> Subject: [pve-devel] [PATCH] RBDPlugin: introduce rbd_unittobytes / rbd
> tends to be human readable
> 
> 
> Signed-off-by: Stefan Priebe <s.priebe at profihost.ag>
> ---
>  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);
>  }
> 
> --
> 1.7.10.4
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel





More information about the pve-devel mailing list