[pve-devel] qemu 4.4 : rbd : snapshot memory, savevm is hanging

Alexandre DERUMIER aderumier at odiso.com
Sun Nov 8 13:03:48 CET 2015


>> it's since qemu 2.3, we need to specify format=raw, we are already doing it 
>> for -drive , I'm not sure with vmstate open. 
>> 

>>>Oh, I though the PVE::Storage already fixed that ... 
>Currently we use PVE::QemuServer::qemu_img_format, to generate the format=raw string in 
>differente place (-drive , mirror,...)

I think we should pass format in a new qmp option,
and do like qemu-img


   QDict *options = NULL;
 
   if (fmt) {
        options = qdict_new();
        qdict_put(options, "driver", qstring_from_str(fmt));
   }

   ret = bdrv_open(&snap_state.bs, statefile, NULL, options, bdrv_oflags, drv, &local_err);



----- Mail original -----
De: "aderumier" <aderumier at odiso.com>
À: "dietmar" <dietmar at proxmox.com>
Cc: "pve-devel" <pve-devel at pve.proxmox.com>
Envoyé: Dimanche 8 Novembre 2015 11:54:15
Objet: Re: [pve-devel] qemu 4.4 : rbd : snapshot memory, savevm is hanging

> it's since qemu 2.3, we need to specify format=raw, we are already doing it 
> for -drive , I'm not sure with vmstate open. 
> 

>>Oh, I though the PVE::Storage already fixed that ... 
Currently we use PVE::QemuServer::qemu_img_format, to generate the format=raw string in 
differente place (-drive , mirror,...) 

> savevm-async: savevm inerate pending size 389120 ret 95 

>>sigh, we should really correct those spelling errors. 

it's only debug message (DPRINTF) when debug is enabled manually. 
(But it could be great to be able to display them in snapshot log) 


>> savevm-async: done iterating 
>> -> block here 
> 
>Do you use iothreads? 

No. 

Seem that It's blocking in store_and_stop() 


+ DPRINTF("done iterating\n"); 
+ if (store_and_stop()) 
+ break; 
+ DPRINTF("savevm inerate finished\n"); 

+static int store_and_stop(void) { 
+ if (global_state_store()) { 
+ save_snapshot_error("Error saving global state"); 
+ return 1; 
+ } 
+ if (runstate_is_running()) { >> maybe hang here 
+ vm_stop(RUN_STATE_SAVE_VM); 
+ } 
+ return 0; 
+} 


----- Mail original ----- 
De: "dietmar" <dietmar at proxmox.com> 
À: "aderumier" <aderumier at odiso.com>, "pve-devel" <pve-devel at pve.proxmox.com> 
Envoyé: Dimanche 8 Novembre 2015 11:21:01 
Objet: Re: [pve-devel] qemu 4.4 : rbd : snapshot memory, savevm is hanging 

> On November 8, 2015 at 5:06 AM Alexandre DERUMIER <aderumier at odiso.com> wrote: 
> 
> 
> Some news, 
> 
> first I'm seeing this warning when debugging 
> 
> WARNING: Image format was not specified for 
> 'rbd:pooltest/vm-162-state-snap10:mon_host=10.3.94.31:id=admin:auth_supported=cephx:keyring=/etc/pve/priv/ceph/ceph1.keyring' 
> and probing guessed raw. 
> Automatically detecting the format is dangerous for raw images, write 
> operations on block 0 will be restricted. 
> Specify the 'raw' format explicitly to remove the restrictions. 
> 
> it's since qemu 2.3, we need to specify format=raw, we are already doing it 
> for -drive , I'm not sure with vmstate open. 
> 

Oh, I though the PVE::Storage already fixed that ... 

> then, we the snapshot is hanging: 
> 
> savevm-async: savevm inerate pending size 11948032 ret 129 
> ... 
> savevm-async: savevm inerate pending size 389120 ret 95 

sigh, we should really correct those spelling errors. 

> savevm-async: done iterating 
> -> block here 

Do you use iothreads? 
_______________________________________________ 
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