diff options
author | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2012-05-11 17:46:15 +0100 |
---|---|---|
committer | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2012-05-11 17:46:15 +0100 |
commit | 960371fa2c36814d148968f397b59c1d53590527 (patch) | |
tree | 5dd34b75e66c5bfa2967ba118f94422fdf2119b3 /tools/libxc/xc_domain_save.c | |
parent | 5b81bb4955500c781d90177e012404fc6177ccad (diff) | |
download | xen-960371fa2c36814d148968f397b59c1d53590527.tar.gz xen-960371fa2c36814d148968f397b59c1d53590527.tar.bz2 xen-960371fa2c36814d148968f397b59c1d53590527.zip |
libxc: introduce XC_SAVE_ID_TOOLSTACK
Introduce a new save_id to save/restore toolstack specific extra
information.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Diffstat (limited to 'tools/libxc/xc_domain_save.c')
-rw-r--r-- | tools/libxc/xc_domain_save.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/libxc/xc_domain_save.c b/tools/libxc/xc_domain_save.c index a9216ddf71..fcc7718ecb 100644 --- a/tools/libxc/xc_domain_save.c +++ b/tools/libxc/xc_domain_save.c @@ -1723,6 +1723,23 @@ int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iter } } + if ( callbacks != NULL && callbacks->toolstack_save != NULL ) + { + int id = XC_SAVE_ID_TOOLSTACK; + uint8_t *buf; + uint32_t len; + + if ( callbacks->toolstack_save(dom, &buf, &len, callbacks->data) < 0 ) + { + PERROR("Error calling toolstack_save"); + goto out; + } + wrexact(io_fd, &id, sizeof(id)); + wrexact(io_fd, &len, sizeof(len)); + wrexact(io_fd, buf, len); + free(buf); + } + if ( !callbacks->checkpoint ) { /* |