Orit Wasserman <owass...@redhat.com> wrote: > On 07/01/2012 01:20 PM, Juan Quintela wrote: >> Orit Wasserman <owass...@redhat.com> wrote: >>> On 06/28/2012 10:22 PM, Juan Quintela wrote: >>>> Notice that the live migration users never unregister, so no problem >>>> about freeing the ops structure. >>>> void unregister_savevm(DeviceState *dev, const char *idstr, void *opaque) >>>> diff --git a/vl.c b/vl.c >>>> index 1329c30..b1f31e8 100644 >>>> --- a/vl.c >>>> +++ b/vl.c >>>> @@ -3438,8 +3438,7 @@ 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); >>>> + register_savevm_live(NULL, "ram", 0, 4, &savevm_ram_handlers, NULL); >>>> >>> >>> Juan, >>> Can't we move it migration.c (migrate_init and qemu_start_incoming >>> migration)? >>> this will remove to use an extern for savevm_ram_handlers. >> >> savevm_ram_handlers are exported from arch_init.c, what do we win if we >> move it? Furthermore, I add more functions to this extructure later in >> the series, so not exporting the structure and having to export more >> functions what bring to us? > well it shouldn't be in vl.c , there is no reason (correct me if I'm wrong) > to > register "ram" handlers if there is no migration ...
We always register migration handlers :-( The other problem is that there is no other function that we export for arch_init.c where we can piggy_back() that registration :-( Later, Juan.