[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V3 6/7] Migration/colo.c: Add the necessary chec
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH V3 6/7] Migration/colo.c: Add the necessary checks for colo_do_failover |
Date: |
Fri, 8 Mar 2019 19:02:10 +0000 |
User-agent: |
Mutt/1.11.3 (2019-02-01) |
* Zhang, Chen (address@hidden) wrote:
>
>
> -----Original Message-----
> From: Dr. David Alan Gilbert [mailto:address@hidden
> Sent: Saturday, March 9, 2019 1:41 AM
> To: Zhang, Chen <address@hidden>
> Cc: Li Zhijian <address@hidden>; Zhang Chen <address@hidden>; Juan Quintela
> <address@hidden>; zhanghailiang <address@hidden>; Markus Armbruster
> <address@hidden>; Eric Blake <address@hidden>; qemu-dev <address@hidden>
> Subject: Re: [PATCH V3 6/7] Migration/colo.c: Add the necessary checks for
> colo_do_failover
>
> * Zhang Chen (address@hidden) wrote:
> > From: Zhang Chen <address@hidden>
> >
> > Signed-off-by: Zhang Chen <address@hidden>
>
>> OK, we should make that properly return an error.
>> (Actually we should make the failover command be one of the new OOB
>> commands; so that it can work even if the main loop is blocked- that would
>> make COLO robust properly against network failures)
>
> Good idea~ which OOB command can be the demo in current Qemu?
> Maybe I can do this job in the future.
The 'migration-pause' command I think is the only real one so far.
Remember the important thing is the code that runs as part of it must
not take any lock that could be blocked by the main loop or any
part of the replication that could block based on the other host
having died.
Dave
>
> Thanks
> Zhang Chen
>
> Reviewed-by: Dr. David Alan Gilbert <address@hidden>
>
> > ---
> > migration/colo.c | 10 ++++++++--
> > 1 file changed, 8 insertions(+), 2 deletions(-)
> >
> > diff --git a/migration/colo.c b/migration/colo.c index
> > dbe2b88807..d1ae2e6d11 100644
> > --- a/migration/colo.c
> > +++ b/migration/colo.c
> > @@ -197,10 +197,16 @@ void colo_do_failover(MigrationState *s)
> > vm_stop_force_state(RUN_STATE_COLO);
> > }
> >
> > - if (get_colo_mode() == COLO_MODE_PRIMARY) {
> > + switch (get_colo_mode()) {
> > + case COLO_MODE_PRIMARY:
> > primary_vm_do_failover();
> > - } else {
> > + break;
> > + case COLO_MODE_SECONDARY:
> > secondary_vm_do_failover();
> > + break;
> > + default:
> > + error_report("colo_do_failover failed because the colo mode"
> > + " could not be obtained");
> > }
> > }
> >
> > --
> > 2.17.GIT
> >
> --
> Dr. David Alan Gilbert / address@hidden / Manchester, UK
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK
- [Qemu-devel] [PATCH V3 0/7] Migration/colo: Fix upstream bugs when occur failover, Zhang Chen, 2019/03/03
- [Qemu-devel] [PATCH V3 5/7] qapi/migration.json: Remove a variable that doesn't exist in example, Zhang Chen, 2019/03/03
- [Qemu-devel] [PATCH V3 1/7] Migration/colo.c: Fix double close bug when occur COLO failover, Zhang Chen, 2019/03/03
- [Qemu-devel] [PATCH V3 4/7] Migration/colo.c: Add new COLOExitReason to handle all failover state, Zhang Chen, 2019/03/03
- [Qemu-devel] [PATCH V3 7/7] Migration/colo.c: Make user obtain the COLO mode info after failover, Zhang Chen, 2019/03/03