
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 :|