[pve-devel] possible problem with drive-mirror and block-job-completed

Alexandre DERUMIER aderumier at odiso.com
Fri Oct 3 08:07:35 CEST 2014


Some news:

I can't reproduce on my side currently (doing fio in guest when doing the disk migrate).

If the target is slower, the migration %progression goes up and down, but when I'm catching 100% it's ok.

Now, I have tell to the user forum to put a sleep, just before the block-job-complete, and it's seem to resolve the problem.

So, maybe it's just a race condition, timeframe is short, but it's possible

"
 s->common.offset = end * BDRV_SECTOR_SIZE;   #from here we can call the block-job-complete in proxmox code
                if (!s->synced) {
                    block_job_event_ready(&s->common);
                    s->synced = true;   
                    #but only from here it's ok
                }
"

I don't known how much time take block_job_event_ready, to sent the event (I think it's async, but I'm not sure)


I don't known if we could add something like

s->synced = true;
s->common.synced = true;


to get the sync status in query-block-job




----- Mail original ----- 

De: "Alexandre DERUMIER" <aderumier at odiso.com> 
À: "Dietmar Maurer" <dietmar at proxmox.com> 
Cc: pve-devel at pve.proxmox.com 
Envoyé: Jeudi 2 Octobre 2014 10:03:45 
Objet: Re: [pve-devel] possible problem with drive-mirror and block-job-completed 

>>Would you mind to ask on the qemu list? 

Yes,I ll try to reproduce first, to be sure 
----- Mail original ----- 

De: "Dietmar Maurer" <dietmar at proxmox.com> 
À: "Alexandre DERUMIER" <aderumier at odiso.com> 
Cc: pve-devel at pve.proxmox.com 
Envoyé: Jeudi 2 Octobre 2014 10:01:23 
Objet: RE: [pve-devel] possible problem with drive-mirror and block-job-completed 

> So, I think current proxmox code detection is correct ? 
> 
> last if ($stat->{len} == $stat->{offset}); 

Would you mind to ask on the qemu list? 

> Maybe it could be possible to retrieve the "synced" property without event, with some hack ? 

I guess that is possible, because current code ($stat->{len} == $stat->{offset}) does the same thing. 
_______________________________________________ 
pve-devel mailing list 
pve-devel at pve.proxmox.com 
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel 



More information about the pve-devel mailing list