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

[Xen-devel] [PATCHv6 0/8] tools: rework VM Generation ID

This series reworks the VM Generation ID to a) conform to the
published spec from Microsoft; b) simplify the save/restore code; and
c) extend the libxl API to allow toolstacks to use this feature.

The VM Generation ID must be regenerated with a new random ID after
certain VM operations. Since xl lacks infrastructure for tracking the
life-cycle of snapshots and clones (etc), the safe option of always
using a new generation ID is used.

You can download the spec from:


Patch status ([A]cked, [M]odified, [N]ew):

M libxc: add xc_hvm_param_get/set() to get/set 64-bit
A libxl: add libxl__random_bytes() which fills a buffer
A hvmloader: add helper functions to get/set HVM params
A libxc,libxl,hvmloader: strip out outdated VM generation
M libxl: allow a generation ID to be specified at domain
M xl: generate a new random VM generation ID if requested
A docs: update docs for the ~/platform/generation-id key

Changes in v6:

- Add xc_hvm_param_get/set() instead of changing existing functions.
- Use new libxl_ms_vm_genid type.
- xl.cfg option is now 'ms_vm_genid = "generate"|"none"'.

Changes in v5:

- Rebase on staging to fix some conflicts.
- Add libxl__random_bytes()
- Rename field to ms_vm_genid.
- Toolstacks can generate a fully random generation ID with

Changes in v4:

- Allow xc_get/get_hvm_params() to get/set 64-bit values.
- Const-ify libxl_uuid_*() calls.
- Minor tweaks to libxl internals (gc as param, use GCSPRINTF()).

Changes in v3:

- Specify generation ID in libxl_domain_build_info instead of having
  to call a function to set it.
- Improve docs.

Changes in v2:

- Use libxl_uuid for the generation ID.
- Add "generation_id" option to xl domain configuration file and use
  this to set a random generation ID every time.


Xen-devel mailing list



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