[libvirt] [PATCH 2/3] Wire up virDomainMigrateSetSpeed for the remote RPC driver
Daniel P. Berrange
berrange at redhat.com
Tue Mar 22 11:04:10 UTC 2011
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 :|
More information about the libvir-list
mailing list