|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 --for 4.6 COLOPre 13/25] migration/save: pass checkpointed_stream from libxl to libxc
On Thu, 2015-07-16 at 14:05 +0800, Yang Hongyang wrote:
>
> On 07/15/2015 08:38 PM, Ian Campbell wrote:
> > On Wed, 2015-07-15 at 15:45 +0800, Yang Hongyang wrote:
> >> Pass checkpointed_stream from libxl to libxc.
> >> It won't affact legacy migration because legacy migration
> >> won't use this param.
> >>
> >> Signed-off-by: Yang Hongyang <yanghy@xxxxxxxxxxxxxx>
> >> CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
> >> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
> >> CC: Wei Liu <wei.liu2@xxxxxxxxxx>
> >> CC: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> >> ---
> >> tools/libxc/include/xenguest.h | 9 ++++++---
> >> tools/libxc/xc_domain_save.c | 6 ++++--
> >> tools/libxc/xc_nomigrate.c | 3 ++-
> >> tools/libxc/xc_sr_common.h | 2 +-
> >> tools/libxc/xc_sr_save.c | 5 +++--
> >> tools/libxl/libxl.c | 2 ++
> >> tools/libxl/libxl_dom_save.c | 11 ++++++++---
> >> tools/libxl/libxl_internal.h | 1 +
> >> tools/libxl/libxl_save_callout.c | 2 +-
> >> tools/libxl/libxl_save_helper.c | 3 ++-
> >> 10 files changed, 30 insertions(+), 14 deletions(-)
> >>
> >> diff --git a/tools/libxc/include/xenguest.h
> >> b/tools/libxc/include/xenguest.h
> >> index e95af54..6e24b6c 100644
> >> --- a/tools/libxc/include/xenguest.h
> >> +++ b/tools/libxc/include/xenguest.h
> >> @@ -30,7 +30,6 @@
> >> #define XCFLAGS_HVM (1 << 2)
> >> #define XCFLAGS_STDVGA (1 << 3)
> >> #define XCFLAGS_CHECKPOINT_COMPRESS (1 << 4)
> >> -#define XCFLAGS_CHECKPOINTED (1 << 5)
> >>
> >> #define X86_64_B_SIZE 64
> >> #define X86_32_B_SIZE 32
> >> @@ -85,16 +84,20 @@ struct save_callbacks {
> >> * @parm xch a handle to an open hypervisor interface
> >> * @parm fd the file descriptor to save a domain to
> >> * @parm dom the id of the domain
> >> + * @parm checkpointed_stream non-zero if the far end of the stream is
> >> using
> >> + * checkpointing
> >
> > Do (or will) specific non-zero values have any meaning to the libxc
> > layer? i.e. does it have any knowledge of COLO vs. Remus as the libxl
> > enum added in the last patch does?
>
> Yes, libxc side should be aware of the type of checkpointed_stream (Remus
> or COLO).
In which case I'm afraid something somewhere needs to explicitly convert
from the LIBXL_ namespace to the libxc one (which would be better made
explicit with their own names not open coded numbers). See the handling
of libxl_tsc_mode or libxl_trigger for an example.
Alternatively you could add a comment to libxl_types.idl like
libxl_timer_mode and libxl_shutdown_reason have indicating that these
values must remain consistent with some underlying interface. I don't
much like that but it is tolerable I suppose.
>
> I think it is better to document the non-zero values here?
> for example:
> * @parm checkpointed_stream non-zero if the far end of the stream is
> using
> * checkpointing
> * 0 no checkpointed stream
> * 1 Remus
> * 2 COLO
I'd prefer named constants in the XC_ namespace.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |