[pve-devel] [PATCH storage] Use bigger timeouts for zfs operations
Fabian Ebner
f.ebner at proxmox.com
Tue Oct 1 12:17:58 CEST 2019
Seems like 'zfs destroy' can take longer than 5 seconds, see [0].
I changed the timeout to 15 seconds and also changed the default
timeout to 10 instead of 5 seconds, to be on the safe side
for other commands like 'zfs create'.
[0]: https://forum.proxmox.com/threads/timeout-beim-l%C3%B6schen-des-entfernen-replikats-bei-entfernung-der-replikation.58467/
Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
---
PVE/Storage/ZFSPoolPlugin.pm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/PVE/Storage/ZFSPoolPlugin.pm b/PVE/Storage/ZFSPoolPlugin.pm
index f66b277..3ce06be 100644
--- a/PVE/Storage/ZFSPoolPlugin.pm
+++ b/PVE/Storage/ZFSPoolPlugin.pm
@@ -182,7 +182,7 @@ sub zfs_request {
my $msg = '';
my $output = sub { $msg .= "$_[0]\n" };
- $timeout = PVE::RPCEnvironment->is_worker() ? 60*60 : 5 if !$timeout;
+ $timeout = PVE::RPCEnvironment->is_worker() ? 60*60 : 10 if !$timeout;
run_command($cmd, errmsg => "zfs error", outfunc => $output, timeout => $timeout);
@@ -346,7 +346,7 @@ sub zfs_delete_zvol {
for (my $i = 0; $i < 6; $i++) {
- eval { $class->zfs_request($scfg, undef, 'destroy', '-r', "$scfg->{pool}/$zvol"); };
+ eval { $class->zfs_request($scfg, 15, 'destroy', '-r', "$scfg->{pool}/$zvol"); };
if ($err = $@) {
if ($err =~ m/^zfs error:(.*): dataset is busy.*/) {
sleep(1);
--
2.20.1
More information about the pve-devel
mailing list