qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/2] migration: send and check the devices betwe


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PATCH 2/2] migration: send and check the devices between source and distination at the begining
Date: Thu, 6 Oct 2016 13:17:24 +0100
User-agent: Mutt/1.7.0 (2016-08-17)

* Li Zhijian (address@hidden) wrote:
> 
> 
> On 09/30/2016 05:58 PM, Dr. David Alan Gilbert wrote:
> > * Li Zhijian (address@hidden) wrote:
> > > 
> > > 
> > > On 09/30/2016 02:15 PM, Amit Shah wrote:
> > > > Hi,
> > > > 
> > > > On (Thu) 29 Sep 2016 [19:06:32], Li Zhijian wrote:
> > > > > Priviously, if the source and distination have different devices, 
> > > > > source could goto
> > > > > the status "paused (postmigrate)", and the distination will exit that 
> > > > > means no qemu
> > > > > is alive.
> > > > > 
> > > > > After this patch, at above case, source can dectect the some error 
> > > > > early from distination
> > > > > and stop the migration, source keep in status "running".
> > > > 
> > > > How would incoming migrations from previous versions work?
> > > 
> > > You are right. we need to consider more.
> > > 
> > > How about that:
> > > we need to introduce a new section type(e.g: QEMU_VM_SECTION_DEVICE_LIST).
> > > 
> > > source side:
> > > - at the beginning of qemu_savevm_state_begin(), send 
> > > QEMU_VM_SECTION_DEVICE_LIST first
> > > - original path
> > > 
> > > dst side:
> > > - if we got the QEMU_VM_SECTION_DEVICE_LIST, have a check with the 
> > > devices(name,version)
> > > - otherwise original path
> > 
> > Yes, and only send it on new machine types.
> > I think a list could be a good idea; I don't worry too much about the 
> > 'paused (postmigrate)'
> > case, because libvirt can spot that the destination failed and then restart 
> > the source,
> Oh, that's what I didn't know before. Thank for your information.
> 
> 
> > however a list would also fix the opposite case; where the destination has 
> > an extra device
> > that the source does not have, in most cases I think that doesn't cause a 
> > failure at the moment
> What's our expected behavior? I think in most cases(where the destination has 
> an extra device
> that the source does not have), destination seems fine after migration.
> 
> If we expect migration failure, it needs more check.

I think it's a check we could add that would detect more misconfigurations.
  (you'd have to be careful about devices that just didn't need to send any 
migration state;
   and make sure it didn't break existing migrations).

> > but the device has an unusual state.
> > 
> > A QEMU_VM_SECTION_DEVICE_LIST would work, but perhaps a subsection of 
> > vmstate_globalstate
> > would work?
> 
> Currently, the vmstate_globalstate was saved/restored at the migration 
> completion stage while I expect
> the beginning of migration.

Ah sorry, I was confused; it's vmstate_configuration (see migration/savevm.c) 
that's saved
at the beginning.

Dave

> And i cook the V2, with a new section type called SECTION_HEADER, any comment 
> is welcomed.
> 
> Thanks
> 
> > 
> > Dave
> > 
> > > 
> > > Please correct me.
> > > 
> > > Thanks
> > > Zhijian
> > > 
> > > > 
> > > > 
> > > >                 Amit
> > > > 
> > > > 
> > > > 
> > > 
> > > 
> > > 
> > --
> > Dr. David Alan Gilbert / address@hidden / Manchester, UK
> > 
> > 
> > .
> > 
> 
> -- 
> Best regards.
> Li Zhijian (8555)
> 
> 
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

[Prev in Thread] Current Thread [Next in Thread]