[PATCH] tools/xl: hide xenstore-features behind option

Juergen Gross posted 1 patch 2 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20250815143236.27641-1-jgross@suse.com
docs/man/xl.1.pod.in     |  4 ++++
docs/man/xl.cfg.5.pod.in |  2 +-
tools/xl/xl_info.c       | 14 ++++++++++----
3 files changed, 15 insertions(+), 5 deletions(-)
[PATCH] tools/xl: hide xenstore-features behind option
Posted by Juergen Gross 2 months, 2 weeks ago
In order to be able to use "xl info" before Xenstore has been started
or after it has crashed, hide obtaining the available Xenstore features
behind the new option "-x".

Fixes: ecce7970cfe7 ("tools/xl: add available Xenstore features to xl info output")
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 docs/man/xl.1.pod.in     |  4 ++++
 docs/man/xl.cfg.5.pod.in |  2 +-
 tools/xl/xl_info.c       | 14 ++++++++++----
 3 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/docs/man/xl.1.pod.in b/docs/man/xl.1.pod.in
index fe38724b2b..88ccf7ad82 100644
--- a/docs/man/xl.1.pod.in
+++ b/docs/man/xl.1.pod.in
@@ -996,6 +996,10 @@ B<OPTIONS>
 
 List host NUMA topology information
 
+=item B<-x>, B<--xenstore>
+
+Show Xenstore features available.
+
 =back
 
 =item B<top>
diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index f0c920b39d..acff45d308 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -743,7 +743,7 @@ condition.
 =back
 
 The features supported by the running Xenstore instance can be retrieved
-via the B<xl info> command in dom0.
+via the B<xl info -x> command in dom0.
 
 The default value is B<0xffffffff>, meaning that all possible Xenstore
 features are visible by the guest.
diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
index eb019e3ee9..d3583cbf8f 100644
--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -353,7 +353,7 @@ static void output_xenstore_info(void)
     xs_close(xsh);
 }
 
-static void print_info(int numa)
+static void print_info(int numa, bool xs)
 {
     output_nodeinfo();
 
@@ -365,7 +365,8 @@ static void print_info(int numa)
     }
     output_xeninfo();
 
-    output_xenstore_info();
+    if (xs)
+        output_xenstore_info();
 
     maybe_printf("xend_config_format     : 4\n");
 
@@ -631,14 +632,19 @@ int main_info(int argc, char **argv)
     int opt;
     static struct option opts[] = {
         {"numa", 0, 0, 'n'},
+        {"xenstore", 0, 0, 'x'},
         COMMON_LONG_OPTS
     };
     int numa = 0;
+    bool xs = false;
 
-    SWITCH_FOREACH_OPT(opt, "n", opts, "info", 0) {
+    SWITCH_FOREACH_OPT(opt, "nx", opts, "info", 0) {
     case 'n':
         numa = 1;
         break;
+    case 'x':
+        xs = true;
+        break;
     }
 
     /*
@@ -648,7 +654,7 @@ int main_info(int argc, char **argv)
     if (numa == 0 && argc > optind)
         info_name = argv[optind];
 
-    print_info(numa);
+    print_info(numa, xs);
     return 0;
 }
 
-- 
2.43.0
Re: [PATCH] tools/xl: hide xenstore-features behind option
Posted by Andrew Cooper 2 months, 2 weeks ago
On 15/08/2025 3:32 pm, Juergen Gross wrote:
> In order to be able to use "xl info" before Xenstore has been started
> or after it has crashed, hide obtaining the available Xenstore features
> behind the new option "-x".
>
> Fixes: ecce7970cfe7 ("tools/xl: add available Xenstore features to xl info output")
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Probably ought to be Reported-by Ross Lagerwall.  He did all the hard
work debugging this; I just insisted that the conversation move onto Matrix.

For the change itself, Reviewed-by: Andrew Cooper
<andrew.cooper3@citrix.com>

Re: [PATCH] tools/xl: hide xenstore-features behind option
Posted by Jürgen Groß 2 months, 2 weeks ago
On 15.08.25 16:36, Andrew Cooper wrote:
> On 15/08/2025 3:32 pm, Juergen Gross wrote:
>> In order to be able to use "xl info" before Xenstore has been started
>> or after it has crashed, hide obtaining the available Xenstore features
>> behind the new option "-x".
>>
>> Fixes: ecce7970cfe7 ("tools/xl: add available Xenstore features to xl info output")
>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
> 
> Probably ought to be Reported-by Ross Lagerwall.  He did all the hard
> work debugging this; I just insisted that the conversation move onto Matrix.
> 
> For the change itself, Reviewed-by: Andrew Cooper
> <andrew.cooper3@citrix.com>

Thanks.

Should I send V2 with the "Reported-by" corrected, or can this be done
when committing?


Juergen
Re: [PATCH] tools/xl: hide xenstore-features behind option
Posted by Andrew Cooper 2 months, 2 weeks ago
On 15/08/2025 3:39 pm, Jürgen Groß wrote:
> On 15.08.25 16:36, Andrew Cooper wrote:
>> On 15/08/2025 3:32 pm, Juergen Gross wrote:
>>> In order to be able to use "xl info" before Xenstore has been started
>>> or after it has crashed, hide obtaining the available Xenstore features
>>> behind the new option "-x".
>>>
>>> Fixes: ecce7970cfe7 ("tools/xl: add available Xenstore features to
>>> xl info output")
>>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>
>> Probably ought to be Reported-by Ross Lagerwall.  He did all the hard
>> work debugging this; I just insisted that the conversation move onto
>> Matrix.
>>
>> For the change itself, Reviewed-by: Andrew Cooper
>> <andrew.cooper3@citrix.com>
>
> Thanks.
>
> Should I send V2 with the "Reported-by" corrected, or can this be done
> when committing?

Happy to fix on commit.

~Andrew

Re: [PATCH] tools/xl: hide xenstore-features behind option
Posted by Anthony PERARD 2 months, 1 week ago
On Fri, Aug 15, 2025 at 03:40:28PM +0100, Andrew Cooper wrote:
> On 15/08/2025 3:39 pm, Jürgen Groß wrote:
> > On 15.08.25 16:36, Andrew Cooper wrote:
> >> On 15/08/2025 3:32 pm, Juergen Gross wrote:
> >>> In order to be able to use "xl info" before Xenstore has been started
> >>> or after it has crashed, hide obtaining the available Xenstore features
> >>> behind the new option "-x".
> >>>
> >>> Fixes: ecce7970cfe7 ("tools/xl: add available Xenstore features to
> >>> xl info output")
> >>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> >>> Signed-off-by: Juergen Gross <jgross@suse.com>
> >>
> >> Probably ought to be Reported-by Ross Lagerwall.  He did all the hard
> >> work debugging this; I just insisted that the conversation move onto
> >> Matrix.
> >>
> >> For the change itself, Reviewed-by: Andrew Cooper
> >> <andrew.cooper3@citrix.com>
> >
> > Thanks.
> >
> > Should I send V2 with the "Reported-by" corrected, or can this be done
> > when committing?
> 
> Happy to fix on commit.

Acked-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 
Anthony PERARD
Re: [PATCH] tools/xl: hide xenstore-features behind option
Posted by Juergen Gross 2 months, 2 weeks ago
+ Release Manager

On 15.08.25 16:32, Juergen Gross wrote:
> In order to be able to use "xl info" before Xenstore has been started
> or after it has crashed, hide obtaining the available Xenstore features
> behind the new option "-x".
> 
> Fixes: ecce7970cfe7 ("tools/xl: add available Xenstore features to xl info output")
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   docs/man/xl.1.pod.in     |  4 ++++
>   docs/man/xl.cfg.5.pod.in |  2 +-
>   tools/xl/xl_info.c       | 14 ++++++++++----
>   3 files changed, 15 insertions(+), 5 deletions(-)
> 
> diff --git a/docs/man/xl.1.pod.in b/docs/man/xl.1.pod.in
> index fe38724b2b..88ccf7ad82 100644
> --- a/docs/man/xl.1.pod.in
> +++ b/docs/man/xl.1.pod.in
> @@ -996,6 +996,10 @@ B<OPTIONS>
>   
>   List host NUMA topology information
>   
> +=item B<-x>, B<--xenstore>
> +
> +Show Xenstore features available.
> +
>   =back
>   
>   =item B<top>
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index f0c920b39d..acff45d308 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -743,7 +743,7 @@ condition.
>   =back
>   
>   The features supported by the running Xenstore instance can be retrieved
> -via the B<xl info> command in dom0.
> +via the B<xl info -x> command in dom0.
>   
>   The default value is B<0xffffffff>, meaning that all possible Xenstore
>   features are visible by the guest.
> diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
> index eb019e3ee9..d3583cbf8f 100644
> --- a/tools/xl/xl_info.c
> +++ b/tools/xl/xl_info.c
> @@ -353,7 +353,7 @@ static void output_xenstore_info(void)
>       xs_close(xsh);
>   }
>   
> -static void print_info(int numa)
> +static void print_info(int numa, bool xs)
>   {
>       output_nodeinfo();
>   
> @@ -365,7 +365,8 @@ static void print_info(int numa)
>       }
>       output_xeninfo();
>   
> -    output_xenstore_info();
> +    if (xs)
> +        output_xenstore_info();
>   
>       maybe_printf("xend_config_format     : 4\n");
>   
> @@ -631,14 +632,19 @@ int main_info(int argc, char **argv)
>       int opt;
>       static struct option opts[] = {
>           {"numa", 0, 0, 'n'},
> +        {"xenstore", 0, 0, 'x'},
>           COMMON_LONG_OPTS
>       };
>       int numa = 0;
> +    bool xs = false;
>   
> -    SWITCH_FOREACH_OPT(opt, "n", opts, "info", 0) {
> +    SWITCH_FOREACH_OPT(opt, "nx", opts, "info", 0) {
>       case 'n':
>           numa = 1;
>           break;
> +    case 'x':
> +        xs = true;
> +        break;
>       }
>   
>       /*
> @@ -648,7 +654,7 @@ int main_info(int argc, char **argv)
>       if (numa == 0 && argc > optind)
>           info_name = argv[optind];
>   
> -    print_info(numa);
> +    print_info(numa, xs);
>       return 0;
>   }
>   

Re: [PATCH] tools/xl: hide xenstore-features behind option
Posted by Jan Beulich 2 months, 1 week ago
On 15.08.2025 16:35, Juergen Gross wrote:
> + Release Manager

While this surely doesn't hurt, my understanding is that bug fixes don't
require release-acks just yet.

Jan

> On 15.08.25 16:32, Juergen Gross wrote:
>> In order to be able to use "xl info" before Xenstore has been started
>> or after it has crashed, hide obtaining the available Xenstore features
>> behind the new option "-x".
>>
>> Fixes: ecce7970cfe7 ("tools/xl: add available Xenstore features to xl info output")
>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>>   docs/man/xl.1.pod.in     |  4 ++++
>>   docs/man/xl.cfg.5.pod.in |  2 +-
>>   tools/xl/xl_info.c       | 14 ++++++++++----
>>   3 files changed, 15 insertions(+), 5 deletions(-)
>>
>> diff --git a/docs/man/xl.1.pod.in b/docs/man/xl.1.pod.in
>> index fe38724b2b..88ccf7ad82 100644
>> --- a/docs/man/xl.1.pod.in
>> +++ b/docs/man/xl.1.pod.in
>> @@ -996,6 +996,10 @@ B<OPTIONS>
>>   
>>   List host NUMA topology information
>>   
>> +=item B<-x>, B<--xenstore>
>> +
>> +Show Xenstore features available.
>> +
>>   =back
>>   
>>   =item B<top>
>> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
>> index f0c920b39d..acff45d308 100644
>> --- a/docs/man/xl.cfg.5.pod.in
>> +++ b/docs/man/xl.cfg.5.pod.in
>> @@ -743,7 +743,7 @@ condition.
>>   =back
>>   
>>   The features supported by the running Xenstore instance can be retrieved
>> -via the B<xl info> command in dom0.
>> +via the B<xl info -x> command in dom0.
>>   
>>   The default value is B<0xffffffff>, meaning that all possible Xenstore
>>   features are visible by the guest.
>> diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
>> index eb019e3ee9..d3583cbf8f 100644
>> --- a/tools/xl/xl_info.c
>> +++ b/tools/xl/xl_info.c
>> @@ -353,7 +353,7 @@ static void output_xenstore_info(void)
>>       xs_close(xsh);
>>   }
>>   
>> -static void print_info(int numa)
>> +static void print_info(int numa, bool xs)
>>   {
>>       output_nodeinfo();
>>   
>> @@ -365,7 +365,8 @@ static void print_info(int numa)
>>       }
>>       output_xeninfo();
>>   
>> -    output_xenstore_info();
>> +    if (xs)
>> +        output_xenstore_info();
>>   
>>       maybe_printf("xend_config_format     : 4\n");
>>   
>> @@ -631,14 +632,19 @@ int main_info(int argc, char **argv)
>>       int opt;
>>       static struct option opts[] = {
>>           {"numa", 0, 0, 'n'},
>> +        {"xenstore", 0, 0, 'x'},
>>           COMMON_LONG_OPTS
>>       };
>>       int numa = 0;
>> +    bool xs = false;
>>   
>> -    SWITCH_FOREACH_OPT(opt, "n", opts, "info", 0) {
>> +    SWITCH_FOREACH_OPT(opt, "nx", opts, "info", 0) {
>>       case 'n':
>>           numa = 1;
>>           break;
>> +    case 'x':
>> +        xs = true;
>> +        break;
>>       }
>>   
>>       /*
>> @@ -648,7 +654,7 @@ int main_info(int argc, char **argv)
>>       if (numa == 0 && argc > optind)
>>           info_name = argv[optind];
>>   
>> -    print_info(numa);
>> +    print_info(numa, xs);
>>       return 0;
>>   }
>>   
>
Re: [PATCH] tools/xl: hide xenstore-features behind option
Posted by Oleksii Kurochko 2 months, 1 week ago
On 8/18/25 9:42 AM, Jan Beulich wrote:
> On 15.08.2025 16:35, Juergen Gross wrote:
>> + Release Manager
> While this surely doesn't hurt, my understanding is that bug fixes don't
> require release-acks just yet.

Yes, your understanding is correct.


~ Oleksii

>> On 15.08.25 16:32, Juergen Gross wrote:
>>> In order to be able to use "xl info" before Xenstore has been started
>>> or after it has crashed, hide obtaining the available Xenstore features
>>> behind the new option "-x".
>>>
>>> Fixes: ecce7970cfe7 ("tools/xl: add available Xenstore features to xl info output")
>>> Reported-by: Andrew Cooper<andrew.cooper3@citrix.com>
>>> Signed-off-by: Juergen Gross<jgross@suse.com>
>>> ---
>>>    docs/man/xl.1.pod.in     |  4 ++++
>>>    docs/man/xl.cfg.5.pod.in |  2 +-
>>>    tools/xl/xl_info.c       | 14 ++++++++++----
>>>    3 files changed, 15 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/docs/man/xl.1.pod.in b/docs/man/xl.1.pod.in
>>> index fe38724b2b..88ccf7ad82 100644
>>> --- a/docs/man/xl.1.pod.in
>>> +++ b/docs/man/xl.1.pod.in
>>> @@ -996,6 +996,10 @@ B<OPTIONS>
>>>    
>>>    List host NUMA topology information
>>>    
>>> +=item B<-x>, B<--xenstore>
>>> +
>>> +Show Xenstore features available.
>>> +
>>>    =back
>>>    
>>>    =item B<top>
>>> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
>>> index f0c920b39d..acff45d308 100644
>>> --- a/docs/man/xl.cfg.5.pod.in
>>> +++ b/docs/man/xl.cfg.5.pod.in
>>> @@ -743,7 +743,7 @@ condition.
>>>    =back
>>>    
>>>    The features supported by the running Xenstore instance can be retrieved
>>> -via the B<xl info> command in dom0.
>>> +via the B<xl info -x> command in dom0.
>>>    
>>>    The default value is B<0xffffffff>, meaning that all possible Xenstore
>>>    features are visible by the guest.
>>> diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
>>> index eb019e3ee9..d3583cbf8f 100644
>>> --- a/tools/xl/xl_info.c
>>> +++ b/tools/xl/xl_info.c
>>> @@ -353,7 +353,7 @@ static void output_xenstore_info(void)
>>>        xs_close(xsh);
>>>    }
>>>    
>>> -static void print_info(int numa)
>>> +static void print_info(int numa, bool xs)
>>>    {
>>>        output_nodeinfo();
>>>    
>>> @@ -365,7 +365,8 @@ static void print_info(int numa)
>>>        }
>>>        output_xeninfo();
>>>    
>>> -    output_xenstore_info();
>>> +    if (xs)
>>> +        output_xenstore_info();
>>>    
>>>        maybe_printf("xend_config_format     : 4\n");
>>>    
>>> @@ -631,14 +632,19 @@ int main_info(int argc, char **argv)
>>>        int opt;
>>>        static struct option opts[] = {
>>>            {"numa", 0, 0, 'n'},
>>> +        {"xenstore", 0, 0, 'x'},
>>>            COMMON_LONG_OPTS
>>>        };
>>>        int numa = 0;
>>> +    bool xs = false;
>>>    
>>> -    SWITCH_FOREACH_OPT(opt, "n", opts, "info", 0) {
>>> +    SWITCH_FOREACH_OPT(opt, "nx", opts, "info", 0) {
>>>        case 'n':
>>>            numa = 1;
>>>            break;
>>> +    case 'x':
>>> +        xs = true;
>>> +        break;
>>>        }
>>>    
>>>        /*
>>> @@ -648,7 +654,7 @@ int main_info(int argc, char **argv)
>>>        if (numa == 0 && argc > optind)
>>>            info_name = argv[optind];
>>>    
>>> -    print_info(numa);
>>> +    print_info(numa, xs);
>>>        return 0;
>>>    }
>>>