[libvirt] [PATCHv2 6/7] snapshot: remote protocol for snapshot children
Daniel Veillard
veillard at redhat.com
Mon Oct 10 03:25:31 UTC 2011
On Fri, Sep 30, 2011 at 05:09:28PM -0600, Eric Blake wrote:
> Very mechanical. I'm so glad we've automated the generation of things,
> compared to what it was in 0.8.x days, where this would be much longer.
>
> * src/remote/remote_protocol.x
> (REMOTE_PROC_DOMAIN_SNAPSHOT_NUM_CHILDREN)
> (REMOTE_PROC_DOMAIN_SNAPSHOT_LIST_CHILDREN_NAMES): New rpcs.
> (remote_domain_snapshot_num_children_args)
> (remote_domain_snapshot_num_children_ret)
> (remote_domain_snapshot_list_children_names_args)
> (remote_domain_snapshot_list_children_names_ret): New structs.
> * src/remote/remote_driver.c (remote_driver): Use it.
> * src/remote_protocol-structs: Update.
> ---
>
> v2: fix typo in remote_protocol-structs
>
> src/remote/remote_driver.c | 2 ++
> src/remote/remote_protocol.x | 25 +++++++++++++++++++++++--
> src/remote_protocol-structs | 20 ++++++++++++++++++++
> 3 files changed, 45 insertions(+), 2 deletions(-)
>
> diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
> index 83f4f3c..0e303df 100644
> --- a/src/remote/remote_driver.c
> +++ b/src/remote/remote_driver.c
> @@ -4411,6 +4411,8 @@ static virDriver remote_driver = {
> .domainSnapshotGetXMLDesc = remoteDomainSnapshotGetXMLDesc, /* 0.8.0 */
> .domainSnapshotNum = remoteDomainSnapshotNum, /* 0.8.0 */
> .domainSnapshotListNames = remoteDomainSnapshotListNames, /* 0.8.0 */
> + .domainSnapshotNumChildren = remoteDomainSnapshotNumChildren, /* 0.9.7 */
> + .domainSnapshotListChildrenNames = remoteDomainSnapshotListChildrenNames, /* 0.9.7 */
> .domainSnapshotLookupByName = remoteDomainSnapshotLookupByName, /* 0.8.0 */
> .domainHasCurrentSnapshot = remoteDomainHasCurrentSnapshot, /* 0.8.0 */
> .domainSnapshotGetParent = remoteDomainSnapshotGetParent, /* 0.9.7 */
> diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
> index c8a92fd..f95253e 100644
> --- a/src/remote/remote_protocol.x
> +++ b/src/remote/remote_protocol.x
> @@ -2067,6 +2067,25 @@ struct remote_domain_snapshot_list_names_ret {
> remote_nonnull_string names<REMOTE_DOMAIN_SNAPSHOT_LIST_NAMES_MAX>; /* insert at 1 */
> };
>
> +struct remote_domain_snapshot_num_children_args {
> + remote_nonnull_domain_snapshot snap;
> + unsigned int flags;
> +};
> +
> +struct remote_domain_snapshot_num_children_ret {
> + int num;
> +};
> +
> +struct remote_domain_snapshot_list_children_names_args {
> + remote_nonnull_domain_snapshot snap;
> + int maxnames;
> + unsigned int flags;
> +};
> +
> +struct remote_domain_snapshot_list_children_names_ret {
> + remote_nonnull_string names<REMOTE_DOMAIN_SNAPSHOT_LIST_NAMES_MAX>; /* insert at 1 */
> +};
> +
> struct remote_domain_snapshot_lookup_by_name_args {
> remote_nonnull_domain dom;
> remote_nonnull_string name;
> @@ -2524,8 +2543,10 @@ enum remote_procedure {
> REMOTE_PROC_DOMAIN_EVENT_BLOCK_JOB = 241, /* skipgen skipgen */
> REMOTE_PROC_DOMAIN_MIGRATE_GET_MAX_SPEED = 242, /* autogen autogen */
> REMOTE_PROC_DOMAIN_BLOCK_STATS_FLAGS = 243, /* skipgen skipgen */
> - REMOTE_PROC_DOMAIN_SNAPSHOT_GET_PARENT = 244, /* autogen autogen */
> - REMOTE_PROC_DOMAIN_RESET = 245 /* autogen autogen */
> + REMOTE_PROC_DOMAIN_SNAPSHOT_GET_PARENT = 244, /* autogen autogen priority:high */
> + REMOTE_PROC_DOMAIN_RESET = 245, /* autogen autogen */
> + REMOTE_PROC_DOMAIN_SNAPSHOT_NUM_CHILDREN = 246, /* autogen autogen priority:high */
> + REMOTE_PROC_DOMAIN_SNAPSHOT_LIST_CHILDREN_NAMES = 247 /* autogen autogen priority:high */
>
> /*
> * Notice how the entries are grouped in sets of 10 ?
> diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs
> index 69175cc..7894441 100644
> --- a/src/remote_protocol-structs
> +++ b/src/remote_protocol-structs
> @@ -1557,6 +1557,24 @@ struct remote_domain_snapshot_list_names_ret {
> remote_nonnull_string * names_val;
> } names;
> };
> +struct remote_domain_snapshot_num_children_args {
> + remote_nonnull_domain_snapshot snap;
> + u_int flags;
> +};
> +struct remote_domain_snapshot_num_children_ret {
> + int num;
> +};
> +struct remote_domain_snapshot_list_children_names_args {
> + remote_nonnull_domain_snapshot snap;
> + int maxnames;
> + u_int flags;
> +};
> +struct remote_domain_snapshot_list_children_names_ret {
> + struct {
> + u_int names_len;
> + remote_nonnull_string * names_val;
> + } names;
> +};
> struct remote_domain_snapshot_lookup_by_name_args {
> remote_nonnull_domain dom;
> remote_nonnull_string name;
> @@ -1971,4 +1989,6 @@ enum remote_procedure {
> REMOTE_PROC_DOMAIN_BLOCK_STATS_FLAGS = 243,
> REMOTE_PROC_DOMAIN_SNAPSHOT_GET_PARENT = 244,
> REMOTE_PROC_DOMAIN_RESET = 245,
> + REMOTE_PROC_DOMAIN_SNAPSHOT_NUM_CHILDREN = 246,
> + REMOTE_PROC_DOMAIN_SNAPSHOT_LIST_CHILDREN_NAMES = 247,
> };
ACK,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list