[Libvir] Proposed remote protocol (XDR source file qemud/remote_protocol.x)
Daniel P. Berrange
berrange at redhat.com
Mon Apr 30 18:02:45 UTC 2007
On Mon, Apr 30, 2007 at 06:48:26PM +0100, Richard W.M. Jones wrote:
> Richard W.M. Jones wrote:
> >The only problem area are the upper limits imposed on the lengths of
> >various strings and arrays. The upper limits seem to be required for
> >safely decoding messages from untrusted sources. Some of them however
> >would impose limits on such things as the number of CPUs supported,
> and also on number of domains.
>
> >/* For each call we may have a 'remote_CALL_args' and 'remote_CALL_ret'
> > * type. These are omitted when they are NULL.
>
> Instead of "NULL" that should read "void".
>
> >struct remote_get_max_vcpus_args {
> > /* The only backend which supports this call is Xen HV, and
> > * there the type is ignored so it could be NULL.
> > */
> > remote_string type;
> >};
>
> AFAICS the 'type' parameter to GetMaxVcpus is never used.
We never implemeneted this API for QEMU - when we do, then this parameter will
be used.
> >struct remote_domain_lookup_by_name_ret {
> > /* XXX "Not found" semantic is ill-defined. */
> > remote_nonnull_domain dom;
> >};
>
> There are various of these FooLookupByBar functions and as far as I can
> see no one has given much thought to a semantic for "Not found" which
> differs from some other error. Am I missing something?
>
>
> >struct remote_domain_get_info_ret {
> > unsigned char state;
> > unsigned hyper max_mem;
> > unsigned hyper memory;
> > unsigned short nr_virt_cpu;
> > /* XXX cpu_time is declared as unsigned long long */
> > unsigned hyper cpu_time;
> >};
>
> It wasn't clear if cpu_time, defined as unsigned long long in C, could
> be larger than 64 bits. XDR supports 64 bits max, so if it is larger
> we'd need to send _hi and _lo hypers.
AFAIK all current 64-bit platforms define long long as 64-bits. In terms
of the data we're actually representing here - the total CPU time accumulated
to a guest, 64 bits is plenty of space. So even if it were 128-bit, we'd
never have more than 64-bits worth of data stored, so we'd be able to safely
drop the high 64-bits.
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules: http://search.cpan.org/~danberr/ -=|
|=- Projects: http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|
More information about the libvir-list
mailing list