[libvirt] [PATCH 02/16] Remote driver implementation of new migration API
Eric Blake
eblake at redhat.com
Thu May 12 18:52:34 UTC 2011
On 05/12/2011 10:04 AM, Daniel P. Berrange wrote:
> * src/remote/remote_protocol.x: Define wire protocol for migration
> protocol v3
> * daemon/remote.c: Server side dispatch
> * src/remote/remote_driver.c: Client side serialization
> * src/remote/remote_protocol.c, src/remote/remote_protocol.h,
> daemon/remote_dispatch_args.h, daemon/remote_dispatch_prototypes.h,
> daemon/remote_dispatch_ret.h, daemon/remote_dispatch_table.h:
> Re-generate files
> * src/remote_protocol-structs: Declare new ABIs
> ---
> daemon/remote.c | 315 +++++++++++++++++++++++++++++++++++
> src/remote/remote_driver.c | 370 +++++++++++++++++++++++++++++++++++++++++-
> src/remote/remote_protocol.x | 79 +++++++++-
> src/remote_protocol-structs | 90 ++++++++++
> 4 files changed, 847 insertions(+), 7 deletions(-)
ACK; your rebase looks sane.
>
> +struct remote_domain_migrate_begin3_args {
> + remote_nonnull_domain dom;
> + unsigned hyper flags;
> + remote_string dname;
> + unsigned hyper resource;
> +};
Unrelated to your patch, but do we need to think about the issues of
dealing with 32-bit platforms?
That is, if as a client on a 64-bit platform, connected to a 32-bit
server, I call virDomainMigrate(...,0x100000000), it gets correctly
transferred to the 64-bit hyper value over the wire. But then on the
server side, the conversion of the 64-bit hyper back to a 32-bit long
corrupts the value I passed, and ends up calling virDomainMigrate(...,0).
In other words, I think we need some patches to our RPC protocol such
that all longs are passed as hyper (necessary to avoid penalizing
64-to-64 communication), but range-checked for 32-bits (necessary for
64-to-32 communication), with an appropriate error issued if the RPC
call can't proceed because of truncation issues.
--
Eric Blake eblake at redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20110512/6fc3126f/attachment-0001.sig>
More information about the libvir-list
mailing list