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

[Xen-devel] [PATCH v3 COLOPre 00/26] Prerequisite patches for COLO



This patchset is Prerequisite for COLO feature. For what COLO is, refer
to http://wiki.xen.org/wiki/COLO_-_Coarse_Grain_Lock_Stepping

This patchse is based on Andrew Cooper's Libxl migration v2:
  
http://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=shortlog;h=refs/heads/libxl-migv2-v1

I only did the compile test because Remus on Libxl migration v2 still
need to be fixed.

You can also get the patchset from:
  https://github.com/macrosheep/xen/tree/colo-v7

v2->v3:
 - Merge '[PATCH v2 0/6] Misc cleanups for libxl' into this patchset
   for easy review
 - Addressed review comments
 - Add back channel to libxc
 - Introduce should_checkpoint callback
 - Introduce DIRTY_BITMAP record on libxc side
 - Introduce COLO_CONTEXT record on libxl side
 - Ported to Libxl migration v2

v1->v2:
 - Rebased to [PATCH v2 0/6] Misc cleanups for libxl
 - Add a bugfix for the error handling of process_record


Wen Congyang (5):
  tools/libxc: support to resume uncooperative HVM guests
  tools/libxl: Add back channel to allow migration target send data back
  tools/libxl: refactor write stream to support back channel
  tools/libxl: refactor read stream to support back channel
  docs/libxl: Introduce COLO_CONTEXT to support migration v2 colo
    streams

Yang Hongyang (21):
  tools/libxl: rename libxl__domain_suspend to libxl__domain_save
  tools/libxl: move domain suspend code into libxl_dom_suspend.c
  tools/libxl: move domain resume code into libxl_dom_suspend.c
  tools/libxl: move remus code into libxl_remus.c
  tools/libxl: move save/restore code into libxl_dom_save.c
  libxl/save: Refactor libxl__domain_suspend_state
  libxc/restore: fix error handle of process_record
  tools/libxl: introduce enum type libxl_checkpointed_stream
  migration/save: pass checkpointed_stream from libxl to libxc
  tools/libxl: introduce a new API libxl__domain_restore() to load qemu
    state
  tools/libxl: Update libxl_domain_unpause() to support qemu-xen
  tools/libxl: introduce libxl__domain_common_switch_qemu_logdirty()
  tools/libxl: export logdirty_init
  tools/libx{l,c}: add back channel to libxc
  tools/libx{l,c}: introduce should_checkpoint callback
  tools/libx{l,c}: add postcopy/suspend callback to restore side
  libxc/migration: Specification update for DIRTY_BITMAP records
  libxc/migration: export read_record for common use
  tools/libxl: rename remus device to checkpoint device
  tools/libxl: adjust the indentation
  tools/libxl: don't touch remus in checkpoint_device

 docs/specs/libxc-migration-stream.pandoc |   23 +-
 docs/specs/libxl-migration-stream.pandoc |   21 +-
 tools/libxc/include/xenguest.h           |   41 +-
 tools/libxc/xc_domain_restore.c          |    4 +-
 tools/libxc/xc_domain_save.c             |    6 +-
 tools/libxc/xc_nomigrate.c               |    3 +-
 tools/libxc/xc_resume.c                  |   22 +-
 tools/libxc/xc_sr_common.c               |   50 ++
 tools/libxc/xc_sr_common.h               |   16 +-
 tools/libxc/xc_sr_restore.c              |   93 +--
 tools/libxc/xc_sr_save.c                 |    5 +-
 tools/libxc/xc_sr_stream_format.h        |    1 +
 tools/libxl/Makefile                     |    4 +-
 tools/libxl/libxl.c                      |  119 +--
 tools/libxl/libxl.h                      |   29 +-
 tools/libxl/libxl_checkpoint_device.c    |  282 +++++++
 tools/libxl/libxl_create.c               |   41 +-
 tools/libxl/libxl_dom.c                  | 1171 ------------------------------
 tools/libxl/libxl_dom_save.c             |  713 ++++++++++++++++++
 tools/libxl/libxl_dom_suspend.c          |  446 ++++++++++++
 tools/libxl/libxl_internal.h             |  250 ++++---
 tools/libxl/libxl_netbuffer.c            |  117 +--
 tools/libxl/libxl_nonetbuffer.c          |   10 +-
 tools/libxl/libxl_qmp.c                  |   10 +
 tools/libxl/libxl_remus.c                |  386 ++++++++++
 tools/libxl/libxl_remus_device.c         |  327 ---------
 tools/libxl/libxl_remus_disk_drbd.c      |   56 +-
 tools/libxl/libxl_save_callout.c         |   27 +-
 tools/libxl/libxl_save_helper.c          |    9 +-
 tools/libxl/libxl_save_msgs_gen.pl       |   11 +-
 tools/libxl/libxl_sr_stream_format.h     |   11 +
 tools/libxl/libxl_stream_read.c          |   33 +-
 tools/libxl/libxl_stream_write.c         |   46 +-
 tools/libxl/libxl_types.idl              |   10 +-
 tools/libxl/xl_cmdimpl.c                 |   21 +-
 tools/python/xen/migration/libxl.py      |    9 +
 36 files changed, 2465 insertions(+), 1958 deletions(-)
 create mode 100644 tools/libxl/libxl_checkpoint_device.c
 create mode 100644 tools/libxl/libxl_dom_save.c
 create mode 100644 tools/libxl/libxl_dom_suspend.c
 create mode 100644 tools/libxl/libxl_remus.c
 delete mode 100644 tools/libxl/libxl_remus_device.c

-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.