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

Re: [Xen-devel] [PATCH] libxl: create xenstore nodes for control/feature-XXX flags



On Mon, Aug 01, 2016 at 09:57:10AM +0100, Paul Durrant wrote:
> The xenstore-paths documentation specifies various control/feature-XXX
> flags to allow a guest to tell a toolstack about its abilities to
> respond to values written to control/shutdown. However, because the
> parent control xenstore key is created read-only to the guest, unless
> empty nodes for the feature flags are also created reat/write by the
> toolstack, the guest will not be able to set any flags.
> 
> This patch adds code to create all specified feature flag nodes at
> domain creation time.
> 
> Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> Cc: Wei Liu <wei.liu2@xxxxxxxxxx>

This is in accordance with docs/mis/xenstore-paths.markdown.

Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>

> ---
>  tools/libxl/libxl_create.c | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
> index 828f254..03b6339 100644
> --- a/tools/libxl/libxl_create.c
> +++ b/tools/libxl/libxl_create.c
> @@ -646,6 +646,23 @@ retry_transaction:
>                      GCSPRINTF("%s/control/shutdown", dom_path),
>                      rwperm, ARRAY_SIZE(rwperm));
>      libxl__xs_mknod(gc, t,
> +                    GCSPRINTF("%s/control/feature-poweroff", dom_path),
> +                    rwperm, ARRAY_SIZE(rwperm));
> +    libxl__xs_mknod(gc, t,
> +                    GCSPRINTF("%s/control/feature-reboot", dom_path),
> +                    rwperm, ARRAY_SIZE(rwperm));
> +    libxl__xs_mknod(gc, t,
> +                    GCSPRINTF("%s/control/feature-suspend", dom_path),
> +                    rwperm, ARRAY_SIZE(rwperm));
> +    if (info->type == LIBXL_DOMAIN_TYPE_HVM) {
> +        libxl__xs_mknod(gc, t,
> +                        GCSPRINTF("%s/control/feature-s3", dom_path),
> +                        rwperm, ARRAY_SIZE(rwperm));
> +        libxl__xs_mknod(gc, t,
> +                        GCSPRINTF("%s/control/feature-s4", dom_path),
> +                        rwperm, ARRAY_SIZE(rwperm));
> +    }
> +    libxl__xs_mknod(gc, t,
>                      GCSPRINTF("%s/device/suspend/event-channel", dom_path),
>                      rwperm, ARRAY_SIZE(rwperm));
>      libxl__xs_mknod(gc, t,
> -- 
> 2.1.4
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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