Message ID | 1322150893-887-2-git-send-email-anthony.perard@citrix.com |
---|---|
State | New |
Headers | show |
On Thu, 24 Nov 2011, Anthony PERARD wrote: > In Xen case, the guest RAM is not handle by QEMU, and it is saved by Xen tools. > So, we just avoid to register the RAM save state handler. Maybe we can unregister these handlers in the Xen specific initialization code, before we start receiving save/restore requests, otherwise we could have a nasty race condition. > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> > --- > vl.c | 6 ++++-- > 1 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/vl.c b/vl.c > index f5afed4..e7dced2 100644 > --- a/vl.c > +++ b/vl.c > @@ -3273,8 +3273,10 @@ int main(int argc, char **argv, char **envp) > default_drive(default_sdcard, snapshot, machine->use_scsi, > IF_SD, 0, SD_OPTS); > > - register_savevm_live(NULL, "ram", 0, 4, NULL, ram_save_live, NULL, > - ram_load, NULL); > + if (!xen_enabled()) { > + register_savevm_live(NULL, "ram", 0, 4, NULL, ram_save_live, NULL, > + ram_load, NULL); > + } > > if (nb_numa_nodes > 0) { > int i; > -- > Anthony PERARD >
On Thu, Nov 24, 2011 at 17:23, Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote: > On Thu, 24 Nov 2011, Anthony PERARD wrote: >> In Xen case, the guest RAM is not handle by QEMU, and it is saved by Xen tools. >> So, we just avoid to register the RAM save state handler. > > Maybe we can unregister these handlers in the Xen specific > initialization code, before we start receiving save/restore requests, > otherwise we could have a nasty race condition. One argument for my patch was: Not register at all the "ram" save/restore function when Xen is enable make the code more clear: no ram saved with Xen. On the other hand, unregister the "ram" save/restore function in the Xen code, will remove this if(xen) from the generic code. I'm fine with both. Regards,
diff --git a/vl.c b/vl.c index f5afed4..e7dced2 100644 --- a/vl.c +++ b/vl.c @@ -3273,8 +3273,10 @@ int main(int argc, char **argv, char **envp) default_drive(default_sdcard, snapshot, machine->use_scsi, IF_SD, 0, SD_OPTS); - register_savevm_live(NULL, "ram", 0, 4, NULL, ram_save_live, NULL, - ram_load, NULL); + if (!xen_enabled()) { + register_savevm_live(NULL, "ram", 0, 4, NULL, ram_save_live, NULL, + ram_load, NULL); + } if (nb_numa_nodes > 0) { int i;
In Xen case, the guest RAM is not handle by QEMU, and it is saved by Xen tools. So, we just avoid to register the RAM save state handler. Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> --- vl.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)