[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