>>Will this potentially fix the Disk Move issues I reported a few weeks back ?
Not Yet :( But It's already improve a little bit, because when a disk move failed, we try to delete the new mirrored disk, and this is hanging too. (bug in a bug). I'm still unable to reproduce the hang when drive-mirror reach 100% :( ----- Mail original ----- De: "Andrew Thrift" <[email protected]> À: "Alexandre Derumier" <[email protected]> Cc: [email protected] Envoyé: Jeudi 6 Novembre 2014 03:25:10 Objet: Re: [pve-devel] [PATCH] rbd : free_image : retry if rbd has watchers Hi Alexandre, Will this potentially fix the Disk Move issues I reported a few weeks back ? On Thu, Nov 6, 2014 at 4:09 AM, Alexandre Derumier < [email protected] > wrote: reported in drive-mirror, if we cancel the job and we try to free the rbd volume, it seem that rbd storage take 2-3 seconds to release the volume or it's throwing an "image still has watchers". This patch try to wait 10s with 10retries before dying Signed-off-by: Alexandre Derumier < [email protected] > --- PVE/Storage/RBDPlugin.pm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/PVE/Storage/RBDPlugin.pm b/PVE/Storage/RBDPlugin.pm index 1026d81..3bfff4c 100644 --- a/PVE/Storage/RBDPlugin.pm +++ b/PVE/Storage/RBDPlugin.pm @@ -409,7 +409,20 @@ sub free_image { run_rbd_command($cmd, errmsg => "rbd snap purge '$volname' error"); $cmd = &$rbd_cmd($scfg, $storeid, 'rm', $name); - run_rbd_command($cmd, errmsg => "rbd rm '$volname' error"); + + my $i = 0; + while(1){ + $i++; + eval { + run_rbd_command($cmd, errmsg => "rbd rm '$volname' error"); + }; + my $err = $@; + + sleep 1 if ($err && $err =~ m/image still has watchers/); + + die "image still has watchers" if $i > 10; + last if !$err; + } return undef; } -- 1.7.10.4 _______________________________________________ pve-devel mailing list [email protected] http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel _______________________________________________ pve-devel mailing list [email protected] http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
