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

Re: [Xen-devel] [PATCH] libxl: create control/sysrq xenstore node



Wei Liu <wei.liu2@xxxxxxxxxx> writes:

> Also CC Linux maintainers.
>
> On Tue, Sep 04, 2018 at 07:27:31PM +0200, Vitaly Kuznetsov wrote:
>> Wei Liu <wei.liu2@xxxxxxxxxx> writes:
>> 
>> > On Tue, Sep 04, 2018 at 01:39:29PM +0200, Vitaly Kuznetsov wrote:
>> >> 'xl sysrq' command doesn't work with modern Linux guests with the 
>> >> following
>> >> message in guest's log:
>> >> 
>> >>  xen:manage: sysrq_handler: Error -13 writing sysrq in control/sysrq
>> >> 
>> >> xenstore trace confirms:
>> >> 
>> >>  IN 0x24bd9a0 20180904 04:36:32 WRITE (control/sysrq )
>> >>  OUT 0x24bd9a0 20180904 04:36:32 ERROR (EACCES )
>> >> 
>> >> The problem seems to be in the fact that we don't pre-create control/sysrq
>> >> xenstore node and libxl_send_sysrq() doing libxl__xs_printf() creates it 
>> >> as
>> >> read-only. As we want to allow guests to clean 'control/sysrq' after the
>> >> requested action is performed, we need to make this node writable.
>> >> 
>> >> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
>> >
>> > Hmm... this node isn't documented.
>> >
>> 
>> But libxl already writes it, see libxl_send_sysrq().
>
> I think your patch is fine.
>
> What I wanted to do is to document this node. :p
>
>> 
>> > Can you point me to the code in Linux?
>> >
>> 
>> Sure,
>> 
>> drivers/xen/manage.c:
>
> Alright, it appears DomU only expects a single character to be written.
>
> I have written the following diff, do you think it is sensible? I
> believe this is Linux only, but I have CC Roger for correction.
>
> diff --git a/docs/misc/xenstore-paths.markdown 
> b/docs/misc/xenstore-paths.markdown
> index 60c8b3fbe5..33d281915c 100644
> --- a/docs/misc/xenstore-paths.markdown
> +++ b/docs/misc/xenstore-paths.markdown
> @@ -410,6 +410,14 @@ by udev ("0") or will be run by the toolstack directly 
> ("1").
>
>  ### Platform Feature and Control Paths
>
> +#### ~/control/sysrq = (""|COMMAND) [w]
> +
> +This is the PV SysRq control node. A toolstack can write a single character
> +representing a magic SysRq key understood by the Linux kernel.  The guest
> +acknowledges a request by writing the empty string back to the command node.
> +
> +This protocol is Linux only.
> +
>  #### ~/control/shutdown = (""|COMMAND) [w]
>

Makes perfect sense to me and sounds correct, thanks!

-- 
  Vitaly

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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