[pve-devel] [PATCH_V3] Bug Fix 602

Dietmar Maurer dietmar at proxmox.com
Fri Mar 6 05:57:48 CET 2015


> -    run_command($cmd, outfunc => $output, timeout => $timeout);
> +    run_command($cmd, errmsg => "ERROR", outfunc => $output, timeout =>
> $timeout);

Note: you use "ERROR" here - without collon.

>  
>      return $msg;
>  }
> @@ -291,7 +291,26 @@ sub zfs_create_zvol {
>  sub zfs_delete_zvol {
>      my ($class, $scfg, $zvol) = @_;
>  
> -    $class->zfs_request($scfg, undef, 'destroy', '-r',
> "$scfg->{pool}/$zvol");
> +    my $ret;
> +    eval {$ret = $class->zfs_request($scfg, undef, 'destroy', '-r',
> "$scfg->{pool}/$zvol");};
> +    $ret = $@ if $@;
> +
> +    if ($ret =~ m/^ERROR:(.*)/) {

So this regex will never match!

> +
> +	if ($ret =~ m/.*: dataset is busy.*/){
> +
> +	    for(my $i = 0; $ret && $i < 5; $i++){
> +		sleep(1);
> +		
> +		eval {$ret =  $class->zfs_request($scfg, undef, 'destroy', '-r',
> "$scfg->{pool}/$zvol");};

Also, this is a code duplication, and can be avoided easily.
 
> +		$ret = $@ if $@;		
> +	    }
> +
> +	    die $ret if $ret;
> +	} else {
> +	    die "$ret";
> +	}
> +    }
>  }
>  
>  sub zfs_list_zvol {
> -- 
> 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