On Mon, Mar 21, 2011 at 12:04:33PM -0600, Eric Blake wrote:
On 03/21/2011 10:13 AM, Daniel P. Berrange wrote:
> * src/remote/remote_protocol.x: Define wire protocol
> * daemon/remote.c, src/remote/remote_driver.c: Add new
> functions for virDomainMigrateSetSpeed API
> * src/remote/remote_protocol.c, src/remote/remote_protocol.h,
> daemon/remote_dispatch_args.h, daemon/remote_dispatch_prototypes.h,
> daemon/remote_dispatch_table.h: Re-generate files
> ---
> daemon/remote.c | 28 ++++++++++++++++++++++++++++
> daemon/remote_dispatch_args.h | 1 +
> daemon/remote_dispatch_prototypes.h | 8 ++++++++
> daemon/remote_dispatch_table.h | 5 +++++
> src/remote/remote_driver.c | 31 ++++++++++++++++++++++++++++++-
> src/remote/remote_protocol.c | 13 +++++++++++++
> src/remote/remote_protocol.h | 10 ++++++++++
> src/remote/remote_protocol.x | 9 ++++++++-
> 8 files changed, 103 insertions(+), 2 deletions(-)
No change to src/remote_protocol-structs (make check should have caught
that, if you have 'dwarves' installed)? Also, that file has a pending
unreviewed patch from me that might conflict, depending on who pushes first:
https://www.redhat.com/archives/libvir-list/2011-March/msg00519.html
Ipps, i forgot that.
> +++ b/src/remote/remote_protocol.x
> @@ -1760,6 +1760,12 @@ struct remote_domain_migrate_set_max_downtime_args {
> unsigned flags;
> };
>
> +struct remote_domain_migrate_set_max_speed_args {
> + remote_nonnull_domain dom;
> + unsigned hyper bandwidth;
> + unsigned flags;
> +};
Do we really need 'unsigned long' in patch 1 and 'hyper' here? Given
that the argument is provided in units of Mbps, wouldn't 'int' be
sufficient? However, this accurately reflects patch 1, so a change here
would also require a change in patch 1.
I used 'unsigned long' and 'hyper' for consistency with the way this
same value is serialized in the main migrate method:
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
unsigned long flags, const char *dname,
const char *uri, unsigned long bandwidth);
'bandwidth' is the parameter mirror here
struct remote_domain_migrate_perform_args {
remote_nonnull_domain dom;
opaque cookie<REMOTE_MIGRATE_COOKIE_MAX>;
remote_nonnull_string uri;
unsigned hyper flags;
remote_string dname;
unsigned hyper resource;
};
while 'resource' is the one we mirror here
Regards,
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|