[pve-devel] [PATCH] rbd : free_image : retry if rbd has watchers
    Alexandre DERUMIER 
    aderumier at odiso.com
       
    Fri Nov  7 09:05:34 CET 2014
    
    
  
>>Yes, I think that would be better. 
Hi,
I have dig a little big, and I find the real problem.
block-job-cancel is async, so it take 1 or 2s for the block-job is really finished.
That's why we got the "rbd has watcher" error, because the disk was always open in qemu.
So, we just need to check that block-job don't exist anymore before continue.
I'll send a patch today.
Also, for block-job-complete 100%, I think that checking if $stat->{len} == $stat->{offset} is not enough.
query-block-jobs return an additionnal info : $stat->{busy}  true|false.
I think we need to check that $stat->{len} == $stat->{offset} and $stat->{busy} eq 'false'
----- Mail original ----- 
De: "Dietmar Maurer" <dietmar at proxmox.com> 
À: "Alexandre DERUMIER" <aderumier at odiso.com> 
Cc: pve-devel at pve.proxmox.com 
Envoyé: Jeudi 6 Novembre 2014 16:08:38 
Objet: RE: [pve-devel] [PATCH] rbd : free_image : retry if rbd has watchers 
> >>And what happens if we get other errors? 
> 
> Currently It's retrying until $i > ~0 
> 
> but we could add a die directly if $err !~ image still has watchers 
Yes, I think that would be better. 
    
    
More information about the pve-devel
mailing list