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

Re: [Xen-devel] [PATCH v6 13/18] tools/libxl: rename remus device to checkpoint device



On Wed, Dec 30, 2015 at 10:29:03AM +0800, Wen Congyang wrote:
> This patch is auto generated by the following commands:
>  1. git mv tools/libxl/libxl_remus_device.c 
> tools/libxl/libxl_checkpoint_device.c
>  2. perl -pi -e 's/libxl_remus_device/libxl_checkpoint_device/g' 
> tools/libxl/Makefile
>  3. perl -pi -e 's/\blibxl__remus_devices/libxl__checkpoint_devices/g' 
> tools/libxl/*.[ch]
>  4. perl -pi -e 's/\blibxl__remus_device\b/libxl__checkpoint_device/g' 
> tools/libxl/*.[ch]
>  5. perl -pi -e 
> 's/\blibxl__remus_device_instance_ops\b/libxl__checkpoint_device_instance_ops/g'
>  tools/libxl/*.[ch]
>  6. perl -pi -e 's/\blibxl__remus_callback\b/libxl__checkpoint_callback/g' 
> tools/libxl/*.[ch]
>  7. perl -pi -e 's/\bremus_device_init\b/checkpoint_device_init/g' 
> tools/libxl/*.[ch]
>  8. perl -pi -e 's/\bremus_devices_setup\b/checkpoint_devices_setup/g' 
> tools/libxl/*.[ch]
>  9. perl -pi -e 's/\bdefine_remus_checkpoint_api\b/define_checkpoint_api/g' 
> tools/libxl/*.[ch]
> 10. perl -pi -e 's/\brds\b/cds/g' tools/libxl/*.[ch]
> 11. perl -pi -e 's/REMUS_DEVICE/CHECKPOINT_DEVICE/g' tools/libxl/*.[ch] 
> tools/libxl/*.idl
> 12. perl -pi -e 's/REMUS_DEVOPS/CHECKPOINT_DEVOPS/g' tools/libxl/*.[ch] 
> tools/libxl/*.idl
> 13. perl -pi -e 's/\bremus\b/checkpoint/g' 
> tools/libxl/libxl_checkpoint_device.[ch]
> 14. perl -pi -e 's/\bremus device/checkpoint device/g' 
> tools/libxl/libxl_internal.h
> 15. perl -pi -e 's/\bRemus device/checkpoint device/g' 
> tools/libxl/libxl_internal.h
> 16. perl -pi -e 's/\bremus abstract/checkpoint abstract/g' 
> tools/libxl/libxl_internal.h
> 17. perl -pi -e 's/\bremus invocation/checkpoint invocation/g' 
> tools/libxl/libxl_internal.h
> 18. perl -pi -e 's/\blibxl__remus_device_\(/libxl__checkpoint_device_(/g' 
> tools/libxl/libxl_internal.h
> 
> Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx>
> Signed-off-by: Yang Hongyang <hongyang.yang@xxxxxxxxxxxx>

Reviewed-Lightly-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> ---
>  tools/libxl/Makefile                               |   2 +-
>  ...xl_remus_device.c => libxl_checkpoint_device.c} | 198 
> ++++++++++-----------
>  tools/libxl/libxl_internal.h                       | 112 ++++++------
>  tools/libxl/libxl_netbuffer.c                      | 108 +++++------
>  tools/libxl/libxl_nonetbuffer.c                    |  10 +-
>  tools/libxl/libxl_remus.c                          |  76 ++++----
>  tools/libxl/libxl_remus_disk_drbd.c                |  52 +++---
>  tools/libxl/libxl_types.idl                        |   4 +-
>  8 files changed, 281 insertions(+), 281 deletions(-)
>  rename tools/libxl/{libxl_remus_device.c => libxl_checkpoint_device.c} (52%)
> 
> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index b476012..d075a30 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -62,7 +62,7 @@ else
>  LIBXL_OBJS-y += libxl_no_convert_callout.o
>  endif
>  
> -LIBXL_OBJS-y += libxl_remus.o libxl_remus_device.o libxl_remus_disk_drbd.o
> +LIBXL_OBJS-y += libxl_remus.o libxl_checkpoint_device.o 
> libxl_remus_disk_drbd.o
>  
>  LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o libxl_x86.o libxl_psr.o
>  LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o libxl_arm.o libxl_libfdt_compat.o
> diff --git a/tools/libxl/libxl_remus_device.c 
> b/tools/libxl/libxl_checkpoint_device.c
> similarity index 52%
> rename from tools/libxl/libxl_remus_device.c
> rename to tools/libxl/libxl_checkpoint_device.c
> index a6cb7f6..109cd23 100644
> --- a/tools/libxl/libxl_remus_device.c
> +++ b/tools/libxl/libxl_checkpoint_device.c
> @@ -17,9 +17,9 @@
>  
>  #include "libxl_internal.h"
>  
> -extern const libxl__remus_device_instance_ops remus_device_nic;
> -extern const libxl__remus_device_instance_ops remus_device_drbd_disk;
> -static const libxl__remus_device_instance_ops *remus_ops[] = {
> +extern const libxl__checkpoint_device_instance_ops remus_device_nic;
> +extern const libxl__checkpoint_device_instance_ops remus_device_drbd_disk;
> +static const libxl__checkpoint_device_instance_ops *remus_ops[] = {
>      &remus_device_nic,
>      &remus_device_drbd_disk,
>      NULL,
> @@ -27,18 +27,18 @@ static const libxl__remus_device_instance_ops 
> *remus_ops[] = {
>  
>  /*----- helper functions -----*/
>  
> -static int init_device_subkind(libxl__remus_devices_state *rds)
> +static int init_device_subkind(libxl__checkpoint_devices_state *cds)
>  {
>      /* init device subkind-specific state in the libxl ctx */
>      int rc;
> -    STATE_AO_GC(rds->ao);
> +    STATE_AO_GC(cds->ao);
>  
>      if (libxl__netbuffer_enabled(gc)) {
> -        rc = init_subkind_nic(rds);
> +        rc = init_subkind_nic(cds);
>          if (rc) goto out;
>      }
>  
> -    rc = init_subkind_drbd_disk(rds);
> +    rc = init_subkind_drbd_disk(cds);
>      if (rc) goto out;
>  
>      rc = 0;
> @@ -46,15 +46,15 @@ out:
>      return rc;
>  }
>  
> -static void cleanup_device_subkind(libxl__remus_devices_state *rds)
> +static void cleanup_device_subkind(libxl__checkpoint_devices_state *cds)
>  {
>      /* cleanup device subkind-specific state in the libxl ctx */
> -    STATE_AO_GC(rds->ao);
> +    STATE_AO_GC(cds->ao);
>  
>      if (libxl__netbuffer_enabled(gc))
> -        cleanup_subkind_nic(rds);
> +        cleanup_subkind_nic(cds);
>  
> -    cleanup_subkind_drbd_disk(rds);
> +    cleanup_subkind_drbd_disk(cds);
>  }
>  
>  /*----- setup() and teardown() -----*/
> @@ -70,103 +70,103 @@ static void devices_teardown_cb(libxl__egc *egc,
>                                  libxl__multidev *multidev,
>                                  int rc);
>  
> -/* remus device setup and teardown */
> +/* checkpoint device setup and teardown */
>  
> -static libxl__remus_device* remus_device_init(libxl__egc *egc,
> -                                              libxl__remus_devices_state 
> *rds,
> +static libxl__checkpoint_device* checkpoint_device_init(libxl__egc *egc,
> +                                              
> libxl__checkpoint_devices_state *cds,
>                                                libxl__device_kind kind,
>                                                void *libxl_dev)
>  {
> -    libxl__remus_device *dev = NULL;
> +    libxl__checkpoint_device *dev = NULL;
>  
> -    STATE_AO_GC(rds->ao);
> +    STATE_AO_GC(cds->ao);
>      GCNEW(dev);
>      dev->backend_dev = libxl_dev;
>      dev->kind = kind;
> -    dev->rds = rds;
> +    dev->cds = cds;
>  
>      return dev;
>  }
>  
> -static void remus_devices_setup(libxl__egc *egc,
> -                                libxl__remus_devices_state *rds);
> +static void checkpoint_devices_setup(libxl__egc *egc,
> +                                libxl__checkpoint_devices_state *cds);
>  
> -void libxl__remus_devices_setup(libxl__egc *egc, libxl__remus_devices_state 
> *rds)
> +void libxl__checkpoint_devices_setup(libxl__egc *egc, 
> libxl__checkpoint_devices_state *cds)
>  {
>      int i, rc;
>  
> -    STATE_AO_GC(rds->ao);
> +    STATE_AO_GC(cds->ao);
>  
> -    rc = init_device_subkind(rds);
> +    rc = init_device_subkind(cds);
>      if (rc)
>          goto out;
>  
> -    rds->num_devices = 0;
> -    rds->num_nics = 0;
> -    rds->num_disks = 0;
> +    cds->num_devices = 0;
> +    cds->num_nics = 0;
> +    cds->num_disks = 0;
>  
> -    if (rds->device_kind_flags & (1 << LIBXL__DEVICE_KIND_VIF))
> -        rds->nics = libxl_device_nic_list(CTX, rds->domid, &rds->num_nics);
> +    if (cds->device_kind_flags & (1 << LIBXL__DEVICE_KIND_VIF))
> +        cds->nics = libxl_device_nic_list(CTX, cds->domid, &cds->num_nics);
>  
> -    if (rds->device_kind_flags & (1 << LIBXL__DEVICE_KIND_VBD))
> -        rds->disks = libxl_device_disk_list(CTX, rds->domid, 
> &rds->num_disks);
> +    if (cds->device_kind_flags & (1 << LIBXL__DEVICE_KIND_VBD))
> +        cds->disks = libxl_device_disk_list(CTX, cds->domid, 
> &cds->num_disks);
>  
> -    if (rds->num_nics == 0 && rds->num_disks == 0)
> +    if (cds->num_nics == 0 && cds->num_disks == 0)
>          goto out;
>  
> -    GCNEW_ARRAY(rds->devs, rds->num_nics + rds->num_disks);
> +    GCNEW_ARRAY(cds->devs, cds->num_nics + cds->num_disks);
>  
> -    for (i = 0; i < rds->num_nics; i++) {
> -        rds->devs[rds->num_devices++] = remus_device_init(egc, rds,
> +    for (i = 0; i < cds->num_nics; i++) {
> +        cds->devs[cds->num_devices++] = checkpoint_device_init(egc, cds,
>                                                  LIBXL__DEVICE_KIND_VIF,
> -                                                &rds->nics[i]);
> +                                                &cds->nics[i]);
>      }
>  
> -    for (i = 0; i < rds->num_disks; i++) {
> -        rds->devs[rds->num_devices++] = remus_device_init(egc, rds,
> +    for (i = 0; i < cds->num_disks; i++) {
> +        cds->devs[cds->num_devices++] = checkpoint_device_init(egc, cds,
>                                                  LIBXL__DEVICE_KIND_VBD,
> -                                                &rds->disks[i]);
> +                                                &cds->disks[i]);
>      }
>  
> -    remus_devices_setup(egc, rds);
> +    checkpoint_devices_setup(egc, cds);
>  
>      return;
>  
>  out:
> -    rds->callback(egc, rds, rc);
> +    cds->callback(egc, cds, rc);
>  }
>  
> -static void remus_devices_setup(libxl__egc *egc,
> -                                libxl__remus_devices_state *rds)
> +static void checkpoint_devices_setup(libxl__egc *egc,
> +                                libxl__checkpoint_devices_state *cds)
>  {
>      int i, rc;
>  
> -    STATE_AO_GC(rds->ao);
> +    STATE_AO_GC(cds->ao);
>  
> -    libxl__multidev_begin(ao, &rds->multidev);
> -    rds->multidev.callback = all_devices_setup_cb;
> -    for (i = 0; i < rds->num_devices; i++) {
> -        libxl__remus_device *dev = rds->devs[i];
> +    libxl__multidev_begin(ao, &cds->multidev);
> +    cds->multidev.callback = all_devices_setup_cb;
> +    for (i = 0; i < cds->num_devices; i++) {
> +        libxl__checkpoint_device *dev = cds->devs[i];
>          dev->ops_index = -1;
> -        libxl__multidev_prepare_with_aodev(&rds->multidev, &dev->aodev);
> +        libxl__multidev_prepare_with_aodev(&cds->multidev, &dev->aodev);
>  
> -        dev->aodev.rc = ERROR_REMUS_DEVICE_NOT_SUPPORTED;
> +        dev->aodev.rc = ERROR_CHECKPOINT_DEVICE_NOT_SUPPORTED;
>          dev->aodev.callback = device_setup_iterate;
>          device_setup_iterate(egc,&dev->aodev);
>      }
>  
>      rc = 0;
> -    libxl__multidev_prepared(egc, &rds->multidev, rc);
> +    libxl__multidev_prepared(egc, &cds->multidev, rc);
>  }
>  
>  
>  static void device_setup_iterate(libxl__egc *egc, libxl__ao_device *aodev)
>  {
> -    libxl__remus_device *dev = CONTAINER_OF(aodev, *dev, aodev);
> +    libxl__checkpoint_device *dev = CONTAINER_OF(aodev, *dev, aodev);
>      EGC_GC;
>  
> -    if (aodev->rc != ERROR_REMUS_DEVICE_NOT_SUPPORTED &&
> -        aodev->rc != ERROR_REMUS_DEVOPS_DOES_NOT_MATCH)
> +    if (aodev->rc != ERROR_CHECKPOINT_DEVICE_NOT_SUPPORTED &&
> +        aodev->rc != ERROR_CHECKPOINT_DEVOPS_DOES_NOT_MATCH)
>          /* might be success or disaster */
>          goto out;
>  
> @@ -186,16 +186,16 @@ static void device_setup_iterate(libxl__egc *egc, 
> libxl__ao_device *aodev)
>                  domid = disk->backend_domid;
>                  devid = libxl__device_disk_dev_number(disk->vdev, NULL, 
> NULL);
>              } else {
> -                LOG(ERROR,"device kind not handled by remus: %s",
> +                LOG(ERROR,"device kind not handled by checkpoint: %s",
>                      libxl__device_kind_to_string(dev->kind));
>                  aodev->rc = ERROR_FAIL;
>                  goto out;
>              }
> -            LOG(ERROR,"device not handled by remus"
> +            LOG(ERROR,"device not handled by checkpoint"
>                  " (device=%s:%"PRId32"/%"PRId32")",
>                  libxl__device_kind_to_string(dev->kind),
>                  domid, devid);
> -            aodev->rc = ERROR_REMUS_DEVICE_NOT_SUPPORTED;
> +            aodev->rc = ERROR_CHECKPOINT_DEVICE_NOT_SUPPORTED;
>              goto out;
>          }
>      } while (dev->ops->kind != dev->kind);
> @@ -216,32 +216,32 @@ static void all_devices_setup_cb(libxl__egc *egc,
>      STATE_AO_GC(multidev->ao);
>  
>      /* Convenience aliases */
> -    libxl__remus_devices_state *const rds =
> -                            CONTAINER_OF(multidev, *rds, multidev);
> +    libxl__checkpoint_devices_state *const cds =
> +                            CONTAINER_OF(multidev, *cds, multidev);
>  
> -    rds->callback(egc, rds, rc);
> +    cds->callback(egc, cds, rc);
>  }
>  
> -void libxl__remus_devices_teardown(libxl__egc *egc,
> -                                   libxl__remus_devices_state *rds)
> +void libxl__checkpoint_devices_teardown(libxl__egc *egc,
> +                                   libxl__checkpoint_devices_state *cds)
>  {
>      int i;
> -    libxl__remus_device *dev;
> +    libxl__checkpoint_device *dev;
>  
> -    STATE_AO_GC(rds->ao);
> +    STATE_AO_GC(cds->ao);
>  
> -    libxl__multidev_begin(ao, &rds->multidev);
> -    rds->multidev.callback = devices_teardown_cb;
> -    for (i = 0; i < rds->num_devices; i++) {
> -        dev = rds->devs[i];
> +    libxl__multidev_begin(ao, &cds->multidev);
> +    cds->multidev.callback = devices_teardown_cb;
> +    for (i = 0; i < cds->num_devices; i++) {
> +        dev = cds->devs[i];
>          if (!dev->ops || !dev->matched)
>              continue;
>  
> -        libxl__multidev_prepare_with_aodev(&rds->multidev, &dev->aodev);
> +        libxl__multidev_prepare_with_aodev(&cds->multidev, &dev->aodev);
>          dev->ops->teardown(egc,dev);
>      }
>  
> -    libxl__multidev_prepared(egc, &rds->multidev, 0);
> +    libxl__multidev_prepared(egc, &cds->multidev, 0);
>  }
>  
>  static void devices_teardown_cb(libxl__egc *egc,
> @@ -253,26 +253,26 @@ static void devices_teardown_cb(libxl__egc *egc,
>      STATE_AO_GC(multidev->ao);
>  
>      /* Convenience aliases */
> -    libxl__remus_devices_state *const rds =
> -                            CONTAINER_OF(multidev, *rds, multidev);
> +    libxl__checkpoint_devices_state *const cds =
> +                            CONTAINER_OF(multidev, *cds, multidev);
>  
>      /* clean nic */
> -    for (i = 0; i < rds->num_nics; i++)
> -        libxl_device_nic_dispose(&rds->nics[i]);
> -    free(rds->nics);
> -    rds->nics = NULL;
> -    rds->num_nics = 0;
> +    for (i = 0; i < cds->num_nics; i++)
> +        libxl_device_nic_dispose(&cds->nics[i]);
> +    free(cds->nics);
> +    cds->nics = NULL;
> +    cds->num_nics = 0;
>  
>      /* clean disk */
> -    for (i = 0; i < rds->num_disks; i++)
> -        libxl_device_disk_dispose(&rds->disks[i]);
> -    free(rds->disks);
> -    rds->disks = NULL;
> -    rds->num_disks = 0;
> +    for (i = 0; i < cds->num_disks; i++)
> +        libxl_device_disk_dispose(&cds->disks[i]);
> +    free(cds->disks);
> +    cds->disks = NULL;
> +    cds->num_disks = 0;
>  
> -    cleanup_device_subkind(rds);
> +    cleanup_device_subkind(cds);
>  
> -    rds->callback(egc, rds, rc);
> +    cds->callback(egc, cds, rc);
>  }
>  
>  /*----- checkpointing APIs -----*/
> @@ -285,33 +285,33 @@ static void devices_checkpoint_cb(libxl__egc *egc,
>  
>  /* API implementations */
>  
> -#define define_remus_checkpoint_api(api)                                \
> -void libxl__remus_devices_##api(libxl__egc *egc,                        \
> -                                libxl__remus_devices_state *rds)        \
> +#define define_checkpoint_api(api)                                \
> +void libxl__checkpoint_devices_##api(libxl__egc *egc,                        
> \
> +                                libxl__checkpoint_devices_state *cds)        
> \
>  {                                                                       \
>      int i;                                                              \
> -    libxl__remus_device *dev;                                           \
> +    libxl__checkpoint_device *dev;                                           
> \
>                                                                          \
> -    STATE_AO_GC(rds->ao);                                               \
> +    STATE_AO_GC(cds->ao);                                               \
>                                                                          \
> -    libxl__multidev_begin(ao, &rds->multidev);                          \
> -    rds->multidev.callback = devices_checkpoint_cb;                     \
> -    for (i = 0; i < rds->num_devices; i++) {                            \
> -        dev = rds->devs[i];                                             \
> +    libxl__multidev_begin(ao, &cds->multidev);                          \
> +    cds->multidev.callback = devices_checkpoint_cb;                     \
> +    for (i = 0; i < cds->num_devices; i++) {                            \
> +        dev = cds->devs[i];                                             \
>          if (!dev->matched || !dev->ops->api)                            \
>              continue;                                                   \
> -        libxl__multidev_prepare_with_aodev(&rds->multidev, &dev->aodev);\
> +        libxl__multidev_prepare_with_aodev(&cds->multidev, &dev->aodev);\
>          dev->ops->api(egc,dev);                                         \
>      }                                                                   \
>                                                                          \
> -    libxl__multidev_prepared(egc, &rds->multidev, 0);                   \
> +    libxl__multidev_prepared(egc, &cds->multidev, 0);                   \
>  }
>  
> -define_remus_checkpoint_api(postsuspend);
> +define_checkpoint_api(postsuspend);
>  
> -define_remus_checkpoint_api(preresume);
> +define_checkpoint_api(preresume);
>  
> -define_remus_checkpoint_api(commit);
> +define_checkpoint_api(commit);
>  
>  static void devices_checkpoint_cb(libxl__egc *egc,
>                                    libxl__multidev *multidev,
> @@ -320,8 +320,8 @@ static void devices_checkpoint_cb(libxl__egc *egc,
>      STATE_AO_GC(multidev->ao);
>  
>      /* Convenience aliases */
> -    libxl__remus_devices_state *const rds =
> -                            CONTAINER_OF(multidev, *rds, multidev);
> +    libxl__checkpoint_devices_state *const cds =
> +                            CONTAINER_OF(multidev, *cds, multidev);
>  
> -    rds->callback(egc, rds, rc);
> +    cds->callback(egc, cds, rc);
>  }
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 99a4acf..7f80ec5 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -2794,9 +2794,9 @@ typedef struct libxl__save_helper_state {
>                        * marshalling and xc callback functions */
>  } libxl__save_helper_state;
>  
> -/*----- remus device related state structure -----*/
> +/*----- checkpoint device related state structure -----*/
>  /*
> - * The abstract Remus device layer exposes a common
> + * The abstract checkpoint device layer exposes a common
>   * set of API to [external] libxl for manipulating devices attached to
>   * a guest protected by Remus. The device layer also exposes a set of
>   * [internal] interfaces that every device type must implement.
> @@ -2804,34 +2804,34 @@ typedef struct libxl__save_helper_state {
>   * The following API are exposed to libxl:
>   *
>   * One-time configuration operations:
> - *  +libxl__remus_devices_setup
> + *  +libxl__checkpoint_devices_setup
>   *    > Enable output buffering for NICs, setup disk replication, etc.
> - *  +libxl__remus_devices_teardown
> + *  +libxl__checkpoint_devices_teardown
>   *    > Disable output buffering and disk replication; teardown any
>   *       associated external setups like qdiscs for NICs.
>   *
>   * Operations executed every checkpoint (in order of invocation):
> - *  +libxl__remus_devices_postsuspend
> - *  +libxl__remus_devices_preresume
> - *  +libxl__remus_devices_commit
> + *  +libxl__checkpoint_devices_postsuspend
> + *  +libxl__checkpoint_devices_preresume
> + *  +libxl__checkpoint_devices_commit
>   *
>   * Each device type needs to implement the interfaces specified in
> - * the libxl__remus_device_instance_ops if it wishes to support Remus.
> + * the libxl__checkpoint_device_instance_ops if it wishes to support Remus.
>   *
> - * The high-level control flow through the Remus device layer is shown below:
> + * The high-level control flow through the checkpoint device layer is shown 
> below:
>   *
>   * xl remus
>   *  |->  libxl_domain_remus_start
> - *    |-> libxl__remus_devices_setup
> - *      |-> Per-checkpoint 
> libxl__remus_devices_[postsuspend,preresume,commit]
> + *    |-> libxl__checkpoint_devices_setup
> + *      |-> Per-checkpoint 
> libxl__checkpoint_devices_[postsuspend,preresume,commit]
>   *        ...
>   *        |-> On backup failure, network error or other internal errors:
> - *            libxl__remus_devices_teardown
> + *            libxl__checkpoint_devices_teardown
>   */
>  
> -typedef struct libxl__remus_device libxl__remus_device;
> -typedef struct libxl__remus_devices_state libxl__remus_devices_state;
> -typedef struct libxl__remus_device_instance_ops 
> libxl__remus_device_instance_ops;
> +typedef struct libxl__checkpoint_device libxl__checkpoint_device;
> +typedef struct libxl__checkpoint_devices_state 
> libxl__checkpoint_devices_state;
> +typedef struct libxl__checkpoint_device_instance_ops 
> libxl__checkpoint_device_instance_ops;
>  
>  /*
>   * Interfaces to be implemented by every device subkind that wishes to
> @@ -2841,7 +2841,7 @@ typedef struct libxl__remus_device_instance_ops 
> libxl__remus_device_instance_ops
>   * synchronous and call dev->aodev.callback directly (as the last
>   * thing they do).
>   */
> -struct libxl__remus_device_instance_ops {
> +struct libxl__checkpoint_device_instance_ops {
>      /* the device kind this ops belongs to... */
>      libxl__device_kind kind;
>  
> @@ -2852,12 +2852,12 @@ struct libxl__remus_device_instance_ops {
>       * Asynchronous.
>       */
>  
> -    void (*postsuspend)(libxl__egc *egc, libxl__remus_device *dev);
> -    void (*preresume)(libxl__egc *egc, libxl__remus_device *dev);
> -    void (*commit)(libxl__egc *egc, libxl__remus_device *dev);
> +    void (*postsuspend)(libxl__egc *egc, libxl__checkpoint_device *dev);
> +    void (*preresume)(libxl__egc *egc, libxl__checkpoint_device *dev);
> +    void (*commit)(libxl__egc *egc, libxl__checkpoint_device *dev);
>  
>      /*
> -     * setup() and teardown() are refer to the actual remus device.
> +     * setup() and teardown() are refer to the actual checkpoint device.
>       * Asynchronous.
>       * teardown is called even if setup fails.
>       */
> @@ -2866,45 +2866,45 @@ struct libxl__remus_device_instance_ops {
>       * device. If matched, the device will then be managed with this set of
>       * subkind operations.
>       * Yields 0 if the device successfully set up.
> -     * REMUS_DEVOPS_DOES_NOT_MATCH if the ops does not match the device.
> +     * CHECKPOINT_DEVOPS_DOES_NOT_MATCH if the ops does not match the device.
>       * any other rc indicates failure.
>       */
> -    void (*setup)(libxl__egc *egc, libxl__remus_device *dev);
> -    void (*teardown)(libxl__egc *egc, libxl__remus_device *dev);
> +    void (*setup)(libxl__egc *egc, libxl__checkpoint_device *dev);
> +    void (*teardown)(libxl__egc *egc, libxl__checkpoint_device *dev);
>  };
>  
> -int init_subkind_nic(libxl__remus_devices_state *rds);
> -void cleanup_subkind_nic(libxl__remus_devices_state *rds);
> -int init_subkind_drbd_disk(libxl__remus_devices_state *rds);
> -void cleanup_subkind_drbd_disk(libxl__remus_devices_state *rds);
> +int init_subkind_nic(libxl__checkpoint_devices_state *cds);
> +void cleanup_subkind_nic(libxl__checkpoint_devices_state *cds);
> +int init_subkind_drbd_disk(libxl__checkpoint_devices_state *cds);
> +void cleanup_subkind_drbd_disk(libxl__checkpoint_devices_state *cds);
>  
> -typedef void libxl__remus_callback(libxl__egc *,
> -                                   libxl__remus_devices_state *, int rc);
> +typedef void libxl__checkpoint_callback(libxl__egc *,
> +                                   libxl__checkpoint_devices_state *, int 
> rc);
>  
>  /*
> - * State associated with a remus invocation, including parameters
> - * passed to the remus abstract device layer by the remus
> + * State associated with a checkpoint invocation, including parameters
> + * passed to the checkpoint abstract device layer by the remus
>   * save/restore machinery.
>   */
> -struct libxl__remus_devices_state {
> -    /*---- must be set by caller of libxl__remus_device_(setup|teardown) 
> ----*/
> +struct libxl__checkpoint_devices_state {
> +    /*---- must be set by caller of 
> libxl__checkpoint_device_(setup|teardown) ----*/
>  
>      libxl__ao *ao;
>      uint32_t domid;
> -    libxl__remus_callback *callback;
> +    libxl__checkpoint_callback *callback;
>      int device_kind_flags;
>  
>      /*----- private for abstract layer only -----*/
>  
>      int num_devices;
>      /*
> -     * this array is allocated before setup the remus devices by the
> -     * remus abstract layer.
> -     * devs may be NULL, means there's no remus devices that has been set up.
> +     * this array is allocated before setup the checkpoint devices by the
> +     * checkpoint abstract layer.
> +     * devs may be NULL, means there's no checkpoint devices that has been 
> set up.
>       * the size of this array is 'num_devices', which is the total number
>       * of libxl nic devices and disk devices(num_nics + num_disks).
>       */
> -    libxl__remus_device **devs;
> +    libxl__checkpoint_device **devs;
>  
>      libxl_device_nic *nics;
>      int num_nics;
> @@ -2926,20 +2926,20 @@ struct libxl__remus_devices_state {
>  
>  /*
>   * Information about a single device being handled by remus.
> - * Allocated by the remus abstract layer.
> + * Allocated by the checkpoint abstract layer.
>   */
> -struct libxl__remus_device {
> +struct libxl__checkpoint_device {
>      /*----- shared between abstract and concrete layers -----*/
>      /*
>       * if this is true, that means the subkind ops match the device
>       */
>      bool matched;
>  
> -    /*----- set by remus device abstruct layer -----*/
> -    /* libxl__device_* which this remus device related to */
> +    /*----- set by checkpoint device abstruct layer -----*/
> +    /* libxl__device_* which this checkpoint device related to */
>      const void *backend_dev;
>      libxl__device_kind kind;
> -    libxl__remus_devices_state *rds;
> +    libxl__checkpoint_devices_state *cds;
>      libxl__ao_device aodev;
>  
>      /*----- private for abstract layer only -----*/
> @@ -2950,7 +2950,7 @@ struct libxl__remus_device {
>       * individual devices.
>       */
>      int ops_index;
> -    const libxl__remus_device_instance_ops *ops;
> +    const libxl__checkpoint_device_instance_ops *ops;
>  
>      /*----- private for concrete (device-specific) layer -----*/
>  
> @@ -2958,17 +2958,17 @@ struct libxl__remus_device {
>      void *concrete_data;
>  };
>  
> -/* the following 5 APIs are async ops, call rds->callback when done */
> -_hidden void libxl__remus_devices_setup(libxl__egc *egc,
> -                                        libxl__remus_devices_state *rds);
> -_hidden void libxl__remus_devices_teardown(libxl__egc *egc,
> -                                           libxl__remus_devices_state *rds);
> -_hidden void libxl__remus_devices_postsuspend(libxl__egc *egc,
> -                                              libxl__remus_devices_state 
> *rds);
> -_hidden void libxl__remus_devices_preresume(libxl__egc *egc,
> -                                            libxl__remus_devices_state *rds);
> -_hidden void libxl__remus_devices_commit(libxl__egc *egc,
> -                                         libxl__remus_devices_state *rds);
> +/* the following 5 APIs are async ops, call cds->callback when done */
> +_hidden void libxl__checkpoint_devices_setup(libxl__egc *egc,
> +                                        libxl__checkpoint_devices_state 
> *cds);
> +_hidden void libxl__checkpoint_devices_teardown(libxl__egc *egc,
> +                                           libxl__checkpoint_devices_state 
> *cds);
> +_hidden void libxl__checkpoint_devices_postsuspend(libxl__egc *egc,
> +                                              
> libxl__checkpoint_devices_state *cds);
> +_hidden void libxl__checkpoint_devices_preresume(libxl__egc *egc,
> +                                            libxl__checkpoint_devices_state 
> *cds);
> +_hidden void libxl__checkpoint_devices_commit(libxl__egc *egc,
> +                                         libxl__checkpoint_devices_state 
> *cds);
>  _hidden int libxl__netbuffer_enabled(libxl__gc *gc);
>  
>  /*----- Legacy conversion helper -----*/
> @@ -3127,7 +3127,7 @@ struct libxl__domain_save_state {
>      int hvm;
>      int xcflags;
>      libxl__domain_suspend_state dsps;
> -    libxl__remus_devices_state rds;
> +    libxl__checkpoint_devices_state cds;
>      libxl__ev_time checkpoint_timeout; /* used for Remus checkpoint */
>      int interval; /* checkpoint interval (for Remus) */
>      libxl__stream_write_state sws;
> diff --git a/tools/libxl/libxl_netbuffer.c b/tools/libxl/libxl_netbuffer.c
> index c245a4e..33c2a42 100644
> --- a/tools/libxl/libxl_netbuffer.c
> +++ b/tools/libxl/libxl_netbuffer.c
> @@ -38,21 +38,21 @@ int libxl__netbuffer_enabled(libxl__gc *gc)
>      return 1;
>  }
>  
> -int init_subkind_nic(libxl__remus_devices_state *rds)
> +int init_subkind_nic(libxl__checkpoint_devices_state *cds)
>  {
>      int rc, ret;
> -    libxl__domain_save_state *dss = CONTAINER_OF(rds, *dss, rds);
> +    libxl__domain_save_state *dss = CONTAINER_OF(cds, *dss, cds);
>  
> -    STATE_AO_GC(rds->ao);
> +    STATE_AO_GC(cds->ao);
>  
> -    rds->nlsock = nl_socket_alloc();
> -    if (!rds->nlsock) {
> +    cds->nlsock = nl_socket_alloc();
> +    if (!cds->nlsock) {
>          LOG(ERROR, "cannot allocate nl socket");
>          rc = ERROR_FAIL;
>          goto out;
>      }
>  
> -    ret = nl_connect(rds->nlsock, NETLINK_ROUTE);
> +    ret = nl_connect(cds->nlsock, NETLINK_ROUTE);
>      if (ret) {
>          LOG(ERROR, "failed to open netlink socket: %s",
>              nl_geterror(ret));
> @@ -61,7 +61,7 @@ int init_subkind_nic(libxl__remus_devices_state *rds)
>      }
>  
>      /* get list of all qdiscs installed on network devs. */
> -    ret = rtnl_qdisc_alloc_cache(rds->nlsock, &rds->qdisc_cache);
> +    ret = rtnl_qdisc_alloc_cache(cds->nlsock, &cds->qdisc_cache);
>      if (ret) {
>          LOG(ERROR, "failed to allocate qdisc cache: %s",
>              nl_geterror(ret));
> @@ -70,9 +70,9 @@ int init_subkind_nic(libxl__remus_devices_state *rds)
>      }
>  
>      if (dss->remus->netbufscript) {
> -        rds->netbufscript = libxl__strdup(gc, dss->remus->netbufscript);
> +        cds->netbufscript = libxl__strdup(gc, dss->remus->netbufscript);
>      } else {
> -        rds->netbufscript = GCSPRINTF("%s/remus-netbuf-setup",
> +        cds->netbufscript = GCSPRINTF("%s/remus-netbuf-setup",
>                                        libxl__xen_script_dir_path());
>      }
>  
> @@ -82,22 +82,22 @@ out:
>      return rc;
>  }
>  
> -void cleanup_subkind_nic(libxl__remus_devices_state *rds)
> +void cleanup_subkind_nic(libxl__checkpoint_devices_state *cds)
>  {
> -    STATE_AO_GC(rds->ao);
> +    STATE_AO_GC(cds->ao);
>  
>      /* free qdisc cache */
> -    if (rds->qdisc_cache) {
> -        nl_cache_clear(rds->qdisc_cache);
> -        nl_cache_free(rds->qdisc_cache);
> -        rds->qdisc_cache = NULL;
> +    if (cds->qdisc_cache) {
> +        nl_cache_clear(cds->qdisc_cache);
> +        nl_cache_free(cds->qdisc_cache);
> +        cds->qdisc_cache = NULL;
>      }
>  
>      /* close & free nlsock */
> -    if (rds->nlsock) {
> -        nl_close(rds->nlsock);
> -        nl_socket_free(rds->nlsock);
> -        rds->nlsock = NULL;
> +    if (cds->nlsock) {
> +        nl_close(cds->nlsock);
> +        nl_socket_free(cds->nlsock);
> +        cds->nlsock = NULL;
>      }
>  }
>  
> @@ -111,17 +111,17 @@ void cleanup_subkind_nic(libxl__remus_devices_state 
> *rds)
>   * it must ONLY be used for remus because if driver domains
>   * were in use it would constitute a security vulnerability.
>   */
> -static const char *get_vifname(libxl__remus_device *dev,
> +static const char *get_vifname(libxl__checkpoint_device *dev,
>                                 const libxl_device_nic *nic)
>  {
>      const char *vifname = NULL;
>      const char *path;
>      int rc;
>  
> -    STATE_AO_GC(dev->rds->ao);
> +    STATE_AO_GC(dev->cds->ao);
>  
>      /* Convenience aliases */
> -    const uint32_t domid = dev->rds->domid;
> +    const uint32_t domid = dev->cds->domid;
>  
>      path = GCSPRINTF("%s/backend/vif/%d/%d/vifname",
>                       libxl__xs_get_dompath(gc, 0), domid, nic->devid);
> @@ -144,19 +144,19 @@ static void free_qdisc(libxl__remus_device_nic 
> *remus_nic)
>      remus_nic->qdisc = NULL;
>  }
>  
> -static int init_qdisc(libxl__remus_devices_state *rds,
> +static int init_qdisc(libxl__checkpoint_devices_state *cds,
>                        libxl__remus_device_nic *remus_nic)
>  {
>      int rc, ret, ifindex;
>      struct rtnl_link *ifb = NULL;
>      struct rtnl_qdisc *qdisc = NULL;
>  
> -    STATE_AO_GC(rds->ao);
> +    STATE_AO_GC(cds->ao);
>  
>      /* Now that we have brought up REMUS_IFB device with plug qdisc for
>       * this vif, so we need to refill the qdisc cache.
>       */
> -    ret = nl_cache_refill(rds->nlsock, rds->qdisc_cache);
> +    ret = nl_cache_refill(cds->nlsock, cds->qdisc_cache);
>      if (ret) {
>          LOG(ERROR, "cannot refill qdisc cache: %s", nl_geterror(ret));
>          rc = ERROR_FAIL;
> @@ -164,7 +164,7 @@ static int init_qdisc(libxl__remus_devices_state *rds,
>      }
>  
>      /* get a handle to the REMUS_IFB interface */
> -    ret = rtnl_link_get_kernel(rds->nlsock, 0, remus_nic->ifb, &ifb);
> +    ret = rtnl_link_get_kernel(cds->nlsock, 0, remus_nic->ifb, &ifb);
>      if (ret) {
>          LOG(ERROR, "cannot obtain handle for %s: %s", remus_nic->ifb,
>              nl_geterror(ret));
> @@ -187,7 +187,7 @@ static int init_qdisc(libxl__remus_devices_state *rds,
>       * There is no need to explicitly free this qdisc as its just a
>       * reference from the qdisc cache we allocated earlier.
>       */
> -    qdisc = rtnl_qdisc_get_by_parent(rds->qdisc_cache, ifindex, TC_H_ROOT);
> +    qdisc = rtnl_qdisc_get_by_parent(cds->qdisc_cache, ifindex, TC_H_ROOT);
>      if (qdisc) {
>          const char *tc_kind = rtnl_tc_get_kind(TC_CAST(qdisc));
>          /* Sanity check: Ensure that the root qdisc is a plug qdisc. */
> @@ -231,19 +231,19 @@ static void netbuf_teardown_script_cb(libxl__egc *egc,
>   * $REMUS_IFB (for teardown)
>   * setup/teardown as command line arg.
>   */
> -static void setup_async_exec(libxl__remus_device *dev, char *op)
> +static void setup_async_exec(libxl__checkpoint_device *dev, char *op)
>  {
>      int arraysize, nr = 0;
>      char **env = NULL, **args = NULL;
>      libxl__remus_device_nic *remus_nic = dev->concrete_data;
> -    libxl__remus_devices_state *rds = dev->rds;
> +    libxl__checkpoint_devices_state *cds = dev->cds;
>      libxl__async_exec_state *aes = &dev->aodev.aes;
>  
> -    STATE_AO_GC(rds->ao);
> +    STATE_AO_GC(cds->ao);
>  
>      /* Convenience aliases */
> -    char *const script = libxl__strdup(gc, rds->netbufscript);
> -    const uint32_t domid = rds->domid;
> +    char *const script = libxl__strdup(gc, cds->netbufscript);
> +    const uint32_t domid = cds->domid;
>      const int dev_id = remus_nic->devid;
>      const char *const vif = remus_nic->vif;
>      const char *const ifb = remus_nic->ifb;
> @@ -269,7 +269,7 @@ static void setup_async_exec(libxl__remus_device *dev, 
> char *op)
>      args[nr++] = NULL;
>      assert(nr == arraysize);
>  
> -    aes->ao = dev->rds->ao;
> +    aes->ao = dev->cds->ao;
>      aes->what = GCSPRINTF("%s %s", args[0], args[1]);
>      aes->env = env;
>      aes->args = args;
> @@ -286,13 +286,13 @@ static void setup_async_exec(libxl__remus_device *dev, 
> char *op)
>  
>  /* setup() and teardown() */
>  
> -static void nic_setup(libxl__egc *egc, libxl__remus_device *dev)
> +static void nic_setup(libxl__egc *egc, libxl__checkpoint_device *dev)
>  {
>      int rc;
>      libxl__remus_device_nic *remus_nic;
>      const libxl_device_nic *nic = dev->backend_dev;
>  
> -    STATE_AO_GC(dev->rds->ao);
> +    STATE_AO_GC(dev->cds->ao);
>  
>      /*
>       * thers's no subkind of nic devices, so nic ops is always matched
> @@ -330,15 +330,15 @@ static void netbuf_setup_script_cb(libxl__egc *egc,
>                                     int rc, int status)
>  {
>      libxl__ao_device *aodev = CONTAINER_OF(aes, *aodev, aes);
> -    libxl__remus_device *dev = CONTAINER_OF(aodev, *dev, aodev);
> +    libxl__checkpoint_device *dev = CONTAINER_OF(aodev, *dev, aodev);
>      libxl__remus_device_nic *remus_nic = dev->concrete_data;
> -    libxl__remus_devices_state *rds = dev->rds;
> +    libxl__checkpoint_devices_state *cds = dev->cds;
>      const char *out_path_base, *hotplug_error = NULL;
>  
> -    STATE_AO_GC(rds->ao);
> +    STATE_AO_GC(cds->ao);
>  
>      /* Convenience aliases */
> -    const uint32_t domid = rds->domid;
> +    const uint32_t domid = cds->domid;
>      const int devid = remus_nic->devid;
>      const char *const vif = remus_nic->vif;
>      const char **const ifb = &remus_nic->ifb;
> @@ -377,7 +377,7 @@ static void netbuf_setup_script_cb(libxl__egc *egc,
>  
>      if (hotplug_error) {
>          LOG(ERROR, "netbuf script %s setup failed for vif %s: %s",
> -            rds->netbufscript, vif, hotplug_error);
> +            cds->netbufscript, vif, hotplug_error);
>          rc = ERROR_FAIL;
>          goto out;
>      }
> @@ -388,17 +388,17 @@ static void netbuf_setup_script_cb(libxl__egc *egc,
>      }
>  
>      LOG(DEBUG, "%s will buffer packets from vif %s", *ifb, vif);
> -    rc = init_qdisc(rds, remus_nic);
> +    rc = init_qdisc(cds, remus_nic);
>  
>  out:
>      aodev->rc = rc;
>      aodev->callback(egc, aodev);
>  }
>  
> -static void nic_teardown(libxl__egc *egc, libxl__remus_device *dev)
> +static void nic_teardown(libxl__egc *egc, libxl__checkpoint_device *dev)
>  {
>      int rc;
> -    STATE_AO_GC(dev->rds->ao);
> +    STATE_AO_GC(dev->cds->ao);
>  
>      setup_async_exec(dev, "teardown");
>  
> @@ -418,7 +418,7 @@ static void netbuf_teardown_script_cb(libxl__egc *egc,
>                                        int rc, int status)
>  {
>      libxl__ao_device *aodev = CONTAINER_OF(aes, *aodev, aes);
> -    libxl__remus_device *dev = CONTAINER_OF(aodev, *dev, aodev);
> +    libxl__checkpoint_device *dev = CONTAINER_OF(aodev, *dev, aodev);
>      libxl__remus_device_nic *remus_nic = dev->concrete_data;
>  
>      if (status && !rc)
> @@ -441,12 +441,12 @@ enum {
>  /* API implementations */
>  
>  static int remus_netbuf_op(libxl__remus_device_nic *remus_nic,
> -                           libxl__remus_devices_state *rds,
> +                           libxl__checkpoint_devices_state *cds,
>                             int buffer_op)
>  {
>      int rc, ret;
>  
> -    STATE_AO_GC(rds->ao);
> +    STATE_AO_GC(cds->ao);
>  
>      if (buffer_op == tc_buffer_start)
>          ret = rtnl_qdisc_plug_buffer(remus_nic->qdisc);
> @@ -458,7 +458,7 @@ static int remus_netbuf_op(libxl__remus_device_nic 
> *remus_nic,
>          goto out;
>      }
>  
> -    ret = rtnl_qdisc_add(rds->nlsock, remus_nic->qdisc, NLM_F_REQUEST);
> +    ret = rtnl_qdisc_add(cds->nlsock, remus_nic->qdisc, NLM_F_REQUEST);
>      if (ret) {
>          rc = ERROR_FAIL;
>          goto out;
> @@ -475,33 +475,33 @@ out:
>      return rc;
>  }
>  
> -static void nic_postsuspend(libxl__egc *egc, libxl__remus_device *dev)
> +static void nic_postsuspend(libxl__egc *egc, libxl__checkpoint_device *dev)
>  {
>      int rc;
>      libxl__remus_device_nic *remus_nic = dev->concrete_data;
>  
> -    STATE_AO_GC(dev->rds->ao);
> +    STATE_AO_GC(dev->cds->ao);
>  
> -    rc = remus_netbuf_op(remus_nic, dev->rds, tc_buffer_start);
> +    rc = remus_netbuf_op(remus_nic, dev->cds, tc_buffer_start);
>  
>      dev->aodev.rc = rc;
>      dev->aodev.callback(egc, &dev->aodev);
>  }
>  
> -static void nic_commit(libxl__egc *egc, libxl__remus_device *dev)
> +static void nic_commit(libxl__egc *egc, libxl__checkpoint_device *dev)
>  {
>      int rc;
>      libxl__remus_device_nic *remus_nic = dev->concrete_data;
>  
> -    STATE_AO_GC(dev->rds->ao);
> +    STATE_AO_GC(dev->cds->ao);
>  
> -    rc = remus_netbuf_op(remus_nic, dev->rds, tc_buffer_release);
> +    rc = remus_netbuf_op(remus_nic, dev->cds, tc_buffer_release);
>  
>      dev->aodev.rc = rc;
>      dev->aodev.callback(egc, &dev->aodev);
>  }
>  
> -const libxl__remus_device_instance_ops remus_device_nic = {
> +const libxl__checkpoint_device_instance_ops remus_device_nic = {
>      .kind = LIBXL__DEVICE_KIND_VIF,
>      .setup = nic_setup,
>      .teardown = nic_teardown,
> diff --git a/tools/libxl/libxl_nonetbuffer.c b/tools/libxl/libxl_nonetbuffer.c
> index 3c659c2..4b68152 100644
> --- a/tools/libxl/libxl_nonetbuffer.c
> +++ b/tools/libxl/libxl_nonetbuffer.c
> @@ -22,25 +22,25 @@ int libxl__netbuffer_enabled(libxl__gc *gc)
>      return 0;
>  }
>  
> -int init_subkind_nic(libxl__remus_devices_state *rds)
> +int init_subkind_nic(libxl__checkpoint_devices_state *cds)
>  {
>      return 0;
>  }
>  
> -void cleanup_subkind_nic(libxl__remus_devices_state *rds)
> +void cleanup_subkind_nic(libxl__checkpoint_devices_state *cds)
>  {
>      return;
>  }
>  
> -static void nic_setup(libxl__egc *egc, libxl__remus_device *dev)
> +static void nic_setup(libxl__egc *egc, libxl__checkpoint_device *dev)
>  {
> -    STATE_AO_GC(dev->rds->ao);
> +    STATE_AO_GC(dev->cds->ao);
>  
>      dev->aodev.rc = ERROR_FAIL;
>      dev->aodev.callback(egc, &dev->aodev);
>  }
>  
> -const libxl__remus_device_instance_ops remus_device_nic = {
> +const libxl__checkpoint_device_instance_ops remus_device_nic = {
>      .kind = LIBXL__DEVICE_KIND_VIF,
>      .setup = nic_setup,
>  };
> diff --git a/tools/libxl/libxl_remus.c b/tools/libxl/libxl_remus.c
> index fae2120..d088dad 100644
> --- a/tools/libxl/libxl_remus.c
> +++ b/tools/libxl/libxl_remus.c
> @@ -21,9 +21,9 @@
>  /*-------------------- Remus setup and teardown ---------------------*/
>  
>  static void remus_setup_done(libxl__egc *egc,
> -                             libxl__remus_devices_state *rds, int rc);
> +                             libxl__checkpoint_devices_state *cds, int rc);
>  static void remus_setup_failed(libxl__egc *egc,
> -                               libxl__remus_devices_state *rds, int rc);
> +                               libxl__checkpoint_devices_state *cds, int rc);
>  static void remus_checkpoint_stream_written(
>      libxl__egc *egc, libxl__stream_write_state *sws, int rc);
>  
> @@ -31,7 +31,7 @@ void libxl__remus_setup(libxl__egc *egc,
>                          libxl__domain_save_state *dss)
>  {
>      /* Convenience aliases */
> -    libxl__remus_devices_state *const rds = &dss->rds;
> +    libxl__checkpoint_devices_state *const cds = &dss->cds;
>      const libxl_domain_remus_info *const info = dss->remus;
>  
>      STATE_AO_GC(dss->ao);
> @@ -41,19 +41,19 @@ void libxl__remus_setup(libxl__egc *egc,
>              LOG(ERROR, "Remus: No support for network buffering");
>              goto out;
>          }
> -        rds->device_kind_flags |= (1 << LIBXL__DEVICE_KIND_VIF);
> +        cds->device_kind_flags |= (1 << LIBXL__DEVICE_KIND_VIF);
>      }
>  
>      if (libxl_defbool_val(info->diskbuf))
> -        rds->device_kind_flags |= (1 << LIBXL__DEVICE_KIND_VBD);
> +        cds->device_kind_flags |= (1 << LIBXL__DEVICE_KIND_VBD);
>  
> -    rds->ao = ao;
> -    rds->domid = dss->domid;
> -    rds->callback = remus_setup_done;
> +    cds->ao = ao;
> +    cds->domid = dss->domid;
> +    cds->callback = remus_setup_done;
>  
>      dss->sws.checkpoint_callback = remus_checkpoint_stream_written;
>  
> -    libxl__remus_devices_setup(egc, rds);
> +    libxl__checkpoint_devices_setup(egc, cds);
>      return;
>  
>  out:
> @@ -61,9 +61,9 @@ out:
>  }
>  
>  static void remus_setup_done(libxl__egc *egc,
> -                             libxl__remus_devices_state *rds, int rc)
> +                             libxl__checkpoint_devices_state *cds, int rc)
>  {
> -    libxl__domain_save_state *dss = CONTAINER_OF(rds, *dss, rds);
> +    libxl__domain_save_state *dss = CONTAINER_OF(cds, *dss, cds);
>      STATE_AO_GC(dss->ao);
>  
>      if (!rc) {
> @@ -73,14 +73,14 @@ static void remus_setup_done(libxl__egc *egc,
>  
>      LOG(ERROR, "Remus: failed to setup device for guest with domid %u, rc 
> %d",
>          dss->domid, rc);
> -    rds->callback = remus_setup_failed;
> -    libxl__remus_devices_teardown(egc, rds);
> +    cds->callback = remus_setup_failed;
> +    libxl__checkpoint_devices_teardown(egc, cds);
>  }
>  
>  static void remus_setup_failed(libxl__egc *egc,
> -                               libxl__remus_devices_state *rds, int rc)
> +                               libxl__checkpoint_devices_state *cds, int rc)
>  {
> -    libxl__domain_save_state *dss = CONTAINER_OF(rds, *dss, rds);
> +    libxl__domain_save_state *dss = CONTAINER_OF(cds, *dss, cds);
>      STATE_AO_GC(dss->ao);
>  
>      if (rc)
> @@ -91,7 +91,7 @@ static void remus_setup_failed(libxl__egc *egc,
>  }
>  
>  static void remus_teardown_done(libxl__egc *egc,
> -                                libxl__remus_devices_state *rds,
> +                                libxl__checkpoint_devices_state *cds,
>                                  int rc);
>  void libxl__remus_teardown(libxl__egc *egc,
>                             libxl__domain_save_state *dss,
> @@ -101,15 +101,15 @@ void libxl__remus_teardown(libxl__egc *egc,
>  
>      LOG(WARN, "Remus: Domain suspend terminated with rc %d,"
>          " teardown Remus devices...", rc);
> -    dss->rds.callback = remus_teardown_done;
> -    libxl__remus_devices_teardown(egc, &dss->rds);
> +    dss->cds.callback = remus_teardown_done;
> +    libxl__checkpoint_devices_teardown(egc, &dss->cds);
>  }
>  
>  static void remus_teardown_done(libxl__egc *egc,
> -                                libxl__remus_devices_state *rds,
> +                                libxl__checkpoint_devices_state *cds,
>                                  int rc)
>  {
> -    libxl__domain_save_state *dss = CONTAINER_OF(rds, *dss, rds);
> +    libxl__domain_save_state *dss = CONTAINER_OF(cds, *dss, cds);
>      STATE_AO_GC(dss->ao);
>  
>      if (rc)
> @@ -124,10 +124,10 @@ static void remus_teardown_done(libxl__egc *egc,
>  static void remus_domain_suspend_callback_common_done(libxl__egc *egc,
>                                  libxl__domain_suspend_state *dsps, int ok);
>  static void remus_devices_postsuspend_cb(libxl__egc *egc,
> -                                         libxl__remus_devices_state *rds,
> +                                         libxl__checkpoint_devices_state 
> *cds,
>                                           int rc);
>  static void remus_devices_preresume_cb(libxl__egc *egc,
> -                                       libxl__remus_devices_state *rds,
> +                                       libxl__checkpoint_devices_state *cds,
>                                         int rc);
>  
>  void libxl__remus_domain_suspend_callback(void *data)
> @@ -149,9 +149,9 @@ static void 
> remus_domain_suspend_callback_common_done(libxl__egc *egc,
>      if (rc)
>          goto out;
>  
> -    libxl__remus_devices_state *const rds = &dss->rds;
> -    rds->callback = remus_devices_postsuspend_cb;
> -    libxl__remus_devices_postsuspend(egc, rds);
> +    libxl__checkpoint_devices_state *const cds = &dss->cds;
> +    cds->callback = remus_devices_postsuspend_cb;
> +    libxl__checkpoint_devices_postsuspend(egc, cds);
>      return;
>  
>  out:
> @@ -160,10 +160,10 @@ out:
>  }
>  
>  static void remus_devices_postsuspend_cb(libxl__egc *egc,
> -                                         libxl__remus_devices_state *rds,
> +                                         libxl__checkpoint_devices_state 
> *cds,
>                                           int rc)
>  {
> -    libxl__domain_save_state *dss = CONTAINER_OF(rds, *dss, rds);
> +    libxl__domain_save_state *dss = CONTAINER_OF(cds, *dss, cds);
>  
>      if (rc)
>          goto out;
> @@ -183,16 +183,16 @@ void libxl__remus_domain_resume_callback(void *data)
>      libxl__domain_save_state *dss = shs->caller_state;
>      STATE_AO_GC(dss->ao);
>  
> -    libxl__remus_devices_state *const rds = &dss->rds;
> -    rds->callback = remus_devices_preresume_cb;
> -    libxl__remus_devices_preresume(egc, rds);
> +    libxl__checkpoint_devices_state *const cds = &dss->cds;
> +    cds->callback = remus_devices_preresume_cb;
> +    libxl__checkpoint_devices_preresume(egc, cds);
>  }
>  
>  static void remus_devices_preresume_cb(libxl__egc *egc,
> -                                       libxl__remus_devices_state *rds,
> +                                       libxl__checkpoint_devices_state *cds,
>                                         int rc)
>  {
> -    libxl__domain_save_state *dss = CONTAINER_OF(rds, *dss, rds);
> +    libxl__domain_save_state *dss = CONTAINER_OF(cds, *dss, cds);
>      STATE_AO_GC(dss->ao);
>  
>      if (rc)
> @@ -214,7 +214,7 @@ out:
>  /*----- remus asynchronous checkpoint callback -----*/
>  
>  static void remus_devices_commit_cb(libxl__egc *egc,
> -                                    libxl__remus_devices_state *rds,
> +                                    libxl__checkpoint_devices_state *cds,
>                                      int rc);
>  static void remus_next_checkpoint(libxl__egc *egc, libxl__ev_time *ev,
>                                    const struct timeval *requested_abs,
> @@ -236,7 +236,7 @@ static void remus_checkpoint_stream_written(
>      libxl__domain_save_state *dss = CONTAINER_OF(sws, *dss, sws);
>  
>      /* Convenience aliases */
> -    libxl__remus_devices_state *const rds = &dss->rds;
> +    libxl__checkpoint_devices_state *const cds = &dss->cds;
>  
>      STATE_AO_GC(dss->ao);
>  
> @@ -245,8 +245,8 @@ static void remus_checkpoint_stream_written(
>          goto out;
>      }
>  
> -    rds->callback = remus_devices_commit_cb;
> -    libxl__remus_devices_commit(egc, rds);
> +    cds->callback = remus_devices_commit_cb;
> +    libxl__checkpoint_devices_commit(egc, cds);
>  
>      return;
>  
> @@ -255,10 +255,10 @@ out:
>  }
>  
>  static void remus_devices_commit_cb(libxl__egc *egc,
> -                                    libxl__remus_devices_state *rds,
> +                                    libxl__checkpoint_devices_state *cds,
>                                      int rc)
>  {
> -    libxl__domain_save_state *dss = CONTAINER_OF(rds, *dss, rds);
> +    libxl__domain_save_state *dss = CONTAINER_OF(cds, *dss, cds);
>  
>      STATE_AO_GC(dss->ao);
>  
> diff --git a/tools/libxl/libxl_remus_disk_drbd.c 
> b/tools/libxl/libxl_remus_disk_drbd.c
> index 1c3a88a..4dddc58 100644
> --- a/tools/libxl/libxl_remus_disk_drbd.c
> +++ b/tools/libxl/libxl_remus_disk_drbd.c
> @@ -26,30 +26,30 @@ typedef struct libxl__remus_drbd_disk {
>      int ackwait;
>  } libxl__remus_drbd_disk;
>  
> -int init_subkind_drbd_disk(libxl__remus_devices_state *rds)
> +int init_subkind_drbd_disk(libxl__checkpoint_devices_state *cds)
>  {
> -    STATE_AO_GC(rds->ao);
> +    STATE_AO_GC(cds->ao);
>  
> -    rds->drbd_probe_script = GCSPRINTF("%s/block-drbd-probe",
> +    cds->drbd_probe_script = GCSPRINTF("%s/block-drbd-probe",
>                                         libxl__xen_script_dir_path());
>  
>      return 0;
>  }
>  
> -void cleanup_subkind_drbd_disk(libxl__remus_devices_state *rds)
> +void cleanup_subkind_drbd_disk(libxl__checkpoint_devices_state *cds)
>  {
>      return;
>  }
>  
>  /*----- helper functions, for async calls -----*/
>  static void drbd_async_call(libxl__egc *egc,
> -                            libxl__remus_device *dev,
> -                            void func(libxl__remus_device *),
> +                            libxl__checkpoint_device *dev,
> +                            void func(libxl__checkpoint_device *),
>                              libxl__ev_child_callback callback)
>  {
>      int pid, rc;
>      libxl__ao_device *aodev = &dev->aodev;
> -    STATE_AO_GC(dev->rds->ao);
> +    STATE_AO_GC(dev->cds->ao);
>  
>      /* Fork and call */
>      pid = libxl__ev_child_fork(gc, &aodev->child, callback);
> @@ -82,21 +82,21 @@ static void match_async_exec_cb(libxl__egc *egc,
>  
>  /* implementations */
>  
> -static void match_async_exec(libxl__egc *egc, libxl__remus_device *dev);
> +static void match_async_exec(libxl__egc *egc, libxl__checkpoint_device *dev);
>  
> -static void drbd_setup(libxl__egc *egc, libxl__remus_device *dev)
> +static void drbd_setup(libxl__egc *egc, libxl__checkpoint_device *dev)
>  {
> -    STATE_AO_GC(dev->rds->ao);
> +    STATE_AO_GC(dev->cds->ao);
>  
>      match_async_exec(egc, dev);
>  }
>  
> -static void match_async_exec(libxl__egc *egc, libxl__remus_device *dev)
> +static void match_async_exec(libxl__egc *egc, libxl__checkpoint_device *dev)
>  {
>      int arraysize, nr = 0, rc;
>      const libxl_device_disk *disk = dev->backend_dev;
>      libxl__async_exec_state *aes = &dev->aodev.aes;
> -    STATE_AO_GC(dev->rds->ao);
> +    STATE_AO_GC(dev->cds->ao);
>  
>      /* setup env & args */
>      arraysize = 1;
> @@ -107,12 +107,12 @@ static void match_async_exec(libxl__egc *egc, 
> libxl__remus_device *dev)
>      arraysize = 3;
>      nr = 0;
>      GCNEW_ARRAY(aes->args, arraysize);
> -    aes->args[nr++] = dev->rds->drbd_probe_script;
> +    aes->args[nr++] = dev->cds->drbd_probe_script;
>      aes->args[nr++] = disk->pdev_path;
>      aes->args[nr++] = NULL;
>      assert(nr <= arraysize);
>  
> -    aes->ao = dev->rds->ao;
> +    aes->ao = dev->cds->ao;
>      aes->what = GCSPRINTF("%s %s", aes->args[0], aes->args[1]);
>      aes->timeout_ms = LIBXL_HOTPLUG_TIMEOUT * 1000;
>      aes->callback = match_async_exec_cb;
> @@ -136,7 +136,7 @@ static void match_async_exec_cb(libxl__egc *egc,
>                                  int rc, int status)
>  {
>      libxl__ao_device *aodev = CONTAINER_OF(aes, *aodev, aes);
> -    libxl__remus_device *dev = CONTAINER_OF(aodev, *dev, aodev);
> +    libxl__checkpoint_device *dev = CONTAINER_OF(aodev, *dev, aodev);
>      libxl__remus_drbd_disk *drbd_disk;
>      const libxl_device_disk *disk = dev->backend_dev;
>  
> @@ -146,7 +146,7 @@ static void match_async_exec_cb(libxl__egc *egc,
>          goto out;
>  
>      if (status) {
> -        rc = ERROR_REMUS_DEVOPS_DOES_NOT_MATCH;
> +        rc = ERROR_CHECKPOINT_DEVOPS_DOES_NOT_MATCH;
>          /* BUG: seems to assume that any exit status means `no match' */
>          /* BUG: exit status will have been logged as an error */
>          goto out;
> @@ -171,10 +171,10 @@ out:
>      aodev->callback(egc, aodev);
>  }
>  
> -static void drbd_teardown(libxl__egc *egc, libxl__remus_device *dev)
> +static void drbd_teardown(libxl__egc *egc, libxl__checkpoint_device *dev)
>  {
>      libxl__remus_drbd_disk *drbd_disk = dev->concrete_data;
> -    STATE_AO_GC(dev->rds->ao);
> +    STATE_AO_GC(dev->cds->ao);
>  
>      close(drbd_disk->ctl_fd);
>      dev->aodev.rc = 0;
> @@ -191,9 +191,9 @@ static void checkpoint_async_call_done(libxl__egc *egc,
>  /* API implementations */
>  
>  /* this op will not wait and block, so implement as sync op */
> -static void drbd_postsuspend(libxl__egc *egc, libxl__remus_device *dev)
> +static void drbd_postsuspend(libxl__egc *egc, libxl__checkpoint_device *dev)
>  {
> -    STATE_AO_GC(dev->rds->ao);
> +    STATE_AO_GC(dev->cds->ao);
>  
>      libxl__remus_drbd_disk *rdd = dev->concrete_data;
>  
> @@ -207,16 +207,16 @@ static void drbd_postsuspend(libxl__egc *egc, 
> libxl__remus_device *dev)
>  }
>  
>  
> -static void drbd_preresume_async(libxl__remus_device *dev);
> +static void drbd_preresume_async(libxl__checkpoint_device *dev);
>  
> -static void drbd_preresume(libxl__egc *egc, libxl__remus_device *dev)
> +static void drbd_preresume(libxl__egc *egc, libxl__checkpoint_device *dev)
>  {
> -    STATE_AO_GC(dev->rds->ao);
> +    STATE_AO_GC(dev->cds->ao);
>  
>      drbd_async_call(egc, dev, drbd_preresume_async, 
> checkpoint_async_call_done);
>  }
>  
> -static void drbd_preresume_async(libxl__remus_device *dev)
> +static void drbd_preresume_async(libxl__checkpoint_device *dev)
>  {
>      libxl__remus_drbd_disk *rdd = dev->concrete_data;
>      int ackwait = rdd->ackwait;
> @@ -235,7 +235,7 @@ static void checkpoint_async_call_done(libxl__egc *egc,
>  {
>      int rc;
>      libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
> -    libxl__remus_device *dev = CONTAINER_OF(aodev, *dev, aodev);
> +    libxl__checkpoint_device *dev = CONTAINER_OF(aodev, *dev, aodev);
>      libxl__remus_drbd_disk *rdd = dev->concrete_data;
>  
>      STATE_AO_GC(aodev->ao);
> @@ -253,7 +253,7 @@ out:
>      aodev->callback(egc, aodev);
>  }
>  
> -const libxl__remus_device_instance_ops remus_device_drbd_disk = {
> +const libxl__checkpoint_device_instance_ops remus_device_drbd_disk = {
>      .kind = LIBXL__DEVICE_KIND_VBD,
>      .setup = drbd_setup,
>      .teardown = drbd_teardown,
> diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
> index c5d5d40..db001ad 100644
> --- a/tools/libxl/libxl_types.idl
> +++ b/tools/libxl/libxl_types.idl
> @@ -61,8 +61,8 @@ libxl_error = Enumeration("error", [
>      (-15, "LOCK_FAIL"),
>      (-16, "JSON_CONFIG_EMPTY"),
>      (-17, "DEVICE_EXISTS"),
> -    (-18, "REMUS_DEVOPS_DOES_NOT_MATCH"),
> -    (-19, "REMUS_DEVICE_NOT_SUPPORTED"),
> +    (-18, "CHECKPOINT_DEVOPS_DOES_NOT_MATCH"),
> +    (-19, "CHECKPOINT_DEVICE_NOT_SUPPORTED"),
>      (-20, "VNUMA_CONFIG_INVALID"),
>      (-21, "DOMAIN_NOTFOUND"),
>      (-22, "ABORTED"),
> -- 
> 2.5.0
> 
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel

_______________________________________________
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®.