[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 10/18] xenstored: use grant references instead of map_foreign_range



On Thu, 2012-01-12 at 23:35 +0000, Daniel De Graaf wrote:
> From: Alex Zeffertt <alex.zeffertt@xxxxxxxxxxxxx>
> 
> make xenstored use grantref rather than map_foreign_range (which can
> only be used by privileged domains)
> 
> This patch modifies the xenstore daemon to use xc_gnttab_map_grant_ref
> instead of xc_map_foreign_range where available.
> 
> Previous versions of this patch have been sent to xen-devel. See
> http://lists.xensource.com/archives/html/xen-devel/2008-07/msg00610.html
> http://lists.xensource.com/archives/html/xen-devel/2009-03/msg01492.html
> 
> Signed-off-by: Diego Ongaro <diego.ongaro@xxxxxxxxxx>
> Signed-off-by: Alex Zeffertt <alex.zeffertt@xxxxxxxxxxxxx>
> Signed-off-by: Daniel De Graaf <dgdegra@xxxxxxxxxxxxx>
> ---
>  tools/xenstore/xenstored_domain.c |   45 
> ++++++++++++++++++++++++++++++++-----
>  1 files changed, 39 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/xenstore/xenstored_domain.c 
> b/tools/xenstore/xenstored_domain.c
> index 443af82..0b8353b 100644
> --- a/tools/xenstore/xenstored_domain.c
> +++ b/tools/xenstore/xenstored_domain.c
> @@ -32,8 +32,10 @@
>  #include "xenstored_watch.h"
>  
>  #include <xenctrl.h>
> +#include <xen/grant_table.h>
>  
>  static xc_interface **xc_handle;
> +static xc_gnttab **xcg_handle;
>  static evtchn_port_t virq_port;
>  
>  xc_evtchn *xce_handle = NULL;
> @@ -174,8 +176,12 @@ static int destroy_domain(void *_domain)
>                       eprintf("> Unbinding port %i failed!\n", domain->port);
>       }
>  
> -     if (domain->interface)
> -             munmap(domain->interface, getpagesize());
> +     if (domain->interface) {
> +             if (*xcg_handle >= 0 && domain->domid != 0)

Why the special case for domid 0 here? There seems to be no equivalent
for the map case, including the one you add in patch 15/18.

I think the map and unmap logic could usefully be made into helper
functions.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.