fix bug #602: now zfs will wait 5 sec if error msg is "dataset is busy"
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
This commit is contained in:
committed by
Dietmar Maurer
parent
78d7e1244f
commit
1f390a3030
@ -166,7 +166,7 @@ sub zfs_request {
|
||||
$msg .= "$line\n";
|
||||
};
|
||||
|
||||
run_command($cmd, outfunc => $output, timeout => $timeout);
|
||||
run_command($cmd, errmsg => "zfs error", outfunc => $output, timeout => $timeout);
|
||||
|
||||
return $msg;
|
||||
}
|
||||
@ -293,7 +293,23 @@ sub zfs_create_zvol {
|
||||
sub zfs_delete_zvol {
|
||||
my ($class, $scfg, $zvol) = @_;
|
||||
|
||||
$class->zfs_request($scfg, undef, 'destroy', '-r', "$scfg->{pool}/$zvol");
|
||||
my $err;
|
||||
|
||||
for (my $i = 0; $i < 6; $i++) {
|
||||
|
||||
eval { $class->zfs_request($scfg, undef, 'destroy', '-r', "$scfg->{pool}/$zvol"); };
|
||||
if ($err = $@) {
|
||||
if ($err =~ m/^zfs error:(.*): dataset is busy.*/) {
|
||||
sleep(1);
|
||||
} else {
|
||||
die $err;
|
||||
}
|
||||
} else {
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
die $err if $err;
|
||||
}
|
||||
|
||||
sub zfs_list_zvol {
|
||||
|
||||
Reference in New Issue
Block a user