[pve-devel] possible problem with drive-mirror and block-job-completed
Alexandre DERUMIER
aderumier at odiso.com
Thu Oct 2 09:10:54 CEST 2014
just dig a little more in qemu code,
just before the synced=true is updated ,
s->common.offset is updated to end * BDRV_SECTOR_SIZE;
should_complete = false;
if (s->in_flight == 0 && cnt == 0) {
trace_mirror_before_flush(s);
ret = bdrv_flush(s->target);
if (ret < 0) {
if (mirror_error_action(s, false, -ret) ==
BLOCK_ERROR_ACTION_REPORT) {
goto immediate_exit;
}
} else {
/* We're out of the streaming phase. From now on, if the job
* is cancelled we will actually complete all pending I/O and
* report completion. This way, block-job-cancel will leave
* the target in a consistent state.
*/
s->common.offset = end * BDRV_SECTOR_SIZE;
if (!s->synced) {
block_job_event_ready(&s->common);
s->synced = true;
}
should_complete = s->should_complete ||
block_job_is_cancelled(&s->common);
cnt = bdrv_get_dirty_count(bs, s->dirty_bitmap);
}
}
So, I think current proxmox code detection is correct ?
last if ($stat->{len} == $stat->{offset});
----- 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 07:49:57
Objet: Re: [pve-devel] possible problem with drive-mirror and block-job-completed
>>Also make sure you are testing with latest qemu (2.1.2).
I'll try to reproduce it today. (I never had this problem with nfs, maybe it's related to rbd with writeback)
----- Mail original -----
De: "Dietmar Maurer" <dietmar at proxmox.com>
À: "Alexandre DERUMIER" <aderumier at odiso.com>, pve-devel at pve.proxmox.com
Envoyé: Jeudi 2 Octobre 2014 07:30:33
Objet: RE: [pve-devel] possible problem with drive-mirror and block-job-completed
Also make sure you are testing with latest qemu (2.1.2).
> Maybe it could be possible to retrieve the "synced" property without event, with
> some hack ? (through classic qmp query)
>
_______________________________________________
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