<div dir="ltr">Hi Alexandre,<div><br></div><div>Will this potentially fix the Disk Move issues I reported a few weeks back ?</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 6, 2014 at 4:09 AM, Alexandre Derumier <span dir="ltr"><<a href="mailto:aderumier@odiso.com" target="_blank">aderumier@odiso.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">reported in drive-mirror,<br>
<br>
if we cancel the job and we try to free the rbd volume,<br>
it seem that rbd storage take 2-3 seconds to release the volume<br>
or it's throwing an "image still has watchers".<br>
<br>
This patch try to wait 10s with 10retries before dying<br>
<br>
Signed-off-by: Alexandre Derumier <<a href="mailto:aderumier@odiso.com">aderumier@odiso.com</a>><br>
---<br>
 PVE/Storage/RBDPlugin.pm |   15 ++++++++++++++-<br>
 1 file changed, 14 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/PVE/Storage/RBDPlugin.pm b/PVE/Storage/RBDPlugin.pm<br>
index 1026d81..3bfff4c 100644<br>
--- a/PVE/Storage/RBDPlugin.pm<br>
+++ b/PVE/Storage/RBDPlugin.pm<br>
@@ -409,7 +409,20 @@ sub free_image {<br>
     run_rbd_command($cmd, errmsg => "rbd snap purge '$volname' error");<br>
<br>
     $cmd = &$rbd_cmd($scfg, $storeid, 'rm', $name);<br>
-    run_rbd_command($cmd, errmsg => "rbd rm '$volname' error");<br>
+<br>
+    my $i = 0;<br>
+    while(1){<br>
+       $i++;<br>
+       eval {<br>
+           run_rbd_command($cmd, errmsg => "rbd rm '$volname' error");<br>
+       };<br>
+       my $err = $@;<br>
+<br>
+       sleep 1 if ($err && $err =~ m/image still has watchers/);<br>
+<br>
+       die "image still has watchers" if $i > 10;<br>
+       last if !$err;<br>
+    }<br>
<br>
     return undef;<br>
 }<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.7.10.4<br>
<br>
_______________________________________________<br>
pve-devel mailing list<br>
<a href="mailto:pve-devel@pve.proxmox.com">pve-devel@pve.proxmox.com</a><br>
<a href="http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel" target="_blank">http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel</a><br>
</font></span></blockquote></div><br></div>