[pve-devel] qemu2.7: cpu hotplug && hot-unplug v1

Alexandre DERUMIER aderumier at odiso.com
Mon Sep 12 13:48:38 CEST 2016


I think a basic implementation could be:


   while (l) {
        PVEBackupDevInfo *di = (PVEBackupDevInfo *)l->data;
        l = g_list_next(l);
+    AioContext *aio_context;
+    aio_context = blk_get_aio_context(di->bs);
+    aio_context_acquire(aio_context);
+    bdrv_set_aio_context(di->target, aio_context);


        backup_start(di->bs, di->target, speed, MIRROR_SYNC_MODE_FULL, NULL,
                     BLOCKDEV_ON_ERROR_REPORT, BLOCKDEV_ON_ERROR_REPORT,
                     pvebackup_dump_cb, pvebackup_complete_cb, di,
                     1, NULL, &local_err);

+ aio_context_release(aio_context);

        if (local_err != NULL) {
            error_setg(&backup_state.error, "backup_job_create failed");
            pvebackup_cancel(NULL);
        }
    }



(and the more difficult is to cleanly release aiocontext  for all exceptions)
qemu use a  "goto out;" for this

out:
    aio_context_release(aio_context);




----- Mail original -----
De: "aderumier" <aderumier at odiso.com>
À: "pve-devel" <pve-devel at pve.proxmox.com>
Envoyé: Lundi 12 Septembre 2016 12:56:16
Objet: Re: [pve-devel] qemu2.7: cpu hotplug && hot-unplug v1

With iothread and proxmox qmp_backup, the vm still crash with 
Co-routine re-entered recursively 


I think it's because proxmox qmp_backup don't implement aiocontext, like qemu drive_backup 

http://git.qemu.org/?p=qemu.git;a=commit;h=761731b1805f6ef64eb615e5b82a0801db3cde78 


----- Mail original ----- 
De: "datanom.net" <mir at datanom.net> 
À: "pve-devel" <pve-devel at pve.proxmox.com> 
Envoyé: Lundi 12 Septembre 2016 11:24:45 
Objet: Re: [pve-devel] qemu2.7: cpu hotplug && hot-unplug v1 

On 2016-09-12 11:22, Alexandre DERUMIER wrote: 
> 
> I have done backup test with qemu 2.6 and iothread, and it's already 
> working. 
> 
> So I think the problem is lack of support for iothread in current 
> proxmox backup code. 
> 
Yes, the backup code bails for disks with iotread enabled. 

-- 
Hilsen/Regards 
Michael Rasmussen 

Get my public GnuPG keys: 
michael <at> rasmussen <dot> cc 
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xD3C9A00E 
mir <at> datanom <dot> net 
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE501F51C 
mir <at> miras <dot> org 
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917 
-------------------------------------------------------------- 

---- 

This mail was virus scanned and spam checked before delivery. 
This mail is also DKIM signed. See header dkim-signature. 

_______________________________________________ 
pve-devel mailing list 
pve-devel at pve.proxmox.com 
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel 

_______________________________________________ 
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