On 19/01/2023 6:20 am, Juergen Gross wrote:
> On 17.01.23 14:53, Andrew Cooper wrote:
>> This is the tools side of the Xen series posted previously.
>>
>> With this, a Xen built with long strings can be retrieved:
>>
>>    # xl info
>>    ...
>>    xen_version            : 4.18-unstable+REALLY LONG EXTRAVERSION
>>    xen_changeset          : Tue Jan 3 19:27:17 2023
>> git:52d2da6c0544+REALLY SUPER DUPER EXTRA MEGA LONG CHANGESET
>>    ...
>>
>>
>> Andrew Cooper (6):
>>    tools/libxc: Move xc_version() out of xc_private.c into its own file
>>    tools: Introduce a non-truncating xc_xenver_extraversion()
>>    tools: Introduce a non-truncating xc_xenver_capabilities()
>>    tools: Introduce a non-truncating xc_xenver_changeset()
>>    tools: Introduce a non-truncating xc_xenver_cmdline()
>>    tools: Introduce a xc_xenver_buildid() wrapper
>>
>>   tools/include/xenctrl.h             |  10 ++
>>   tools/libs/ctrl/Makefile.common     |   1 +
>>   tools/libs/ctrl/xc_private.c        |  66 ------------
>>   tools/libs/ctrl/xc_private.h        |   7 --
>>   tools/libs/ctrl/xc_version.c        | 206
>> ++++++++++++++++++++++++++++++++++++
>>   tools/libs/light/libxl.c            |  61 +----------
>>   tools/ocaml/libs/xc/xenctrl_stubs.c |  45 +++++---
>>   7 files changed, 250 insertions(+), 146 deletions(-)
>>   create mode 100644 tools/libs/ctrl/xc_version.c
>>
>
> Hmm, I'm not completely opposed to this, but do we really need all that
> additional code?
>
> Apart from the build-id all the information is easily available via hypfs.

capabilitiles at the very least isn't there.  Not that I'm particularly
complaining - its not an interface we want to encourage.

> And the build-id can be easily added to hypfs.

Hypfs is optional, and you will find firm resistance to making it
mandatory for this.

Also, having looked at how hypfs_string_set_reference() works, it's not
correct with livepatching (nothing updates size).  I suspect this only
impacts the livepatching "unit" tests which nothing runs (hence why
livepatching is *still* broken on 4.15 and later).

~Andrew

Reply via email to