diff mbox

[50/52] libxl: add libxl_set_parameters() function

Message ID 20170809070706.13481-51-jgross@suse.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jürgen Groß Aug. 9, 2017, 7:07 a.m. UTC
Add a new libxl function to set hypervisor parameters at runtime
similar to boot time parameters via command line.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/libxl/libxl.c | 14 ++++++++++++++
 tools/libxl/libxl.h | 11 +++++++++++
 2 files changed, 25 insertions(+)

Comments

Wei Liu Aug. 10, 2017, 4:28 p.m. UTC | #1
On Wed, Aug 09, 2017 at 09:07:04AM +0200, Juergen Gross wrote:
> Add a new libxl function to set hypervisor parameters at runtime
> similar to boot time parameters via command line.
> 
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> Cc: Wei Liu <wei.liu2@citrix.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  tools/libxl/libxl.c | 14 ++++++++++++++
>  tools/libxl/libxl.h | 11 +++++++++++
>  2 files changed, 25 insertions(+)
> 
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 0ef874406f..f370e445de 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -652,6 +652,20 @@ int libxl_send_debug_keys(libxl_ctx *ctx, char *keys)
>      return 0;
>  }
>  
> +int libxl_set_parameters(libxl_ctx *ctx, char *params)
> +{
> +    int ret;
> +    GC_INIT(ctx);
> +    ret = xc_set_parameters(ctx->xch, params);
> +    if ( ret < 0 ) {

Extraneous spaces.

> +        LOGE(ERROR, "setting parameters");
> +        GC_FREE;
> +        return ERROR_FAIL;
> +    }
> +    GC_FREE;
> +    return 0;
> +}
> +
>  static int fd_set_flags(libxl_ctx *ctx, int fd,
>                          int fcntlgetop, int fcntlsetop, const char *fl,
>                          int flagmask, int set_p)
> diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
> index 229e289750..e8262501c2 100644
> --- a/tools/libxl/libxl.h
> +++ b/tools/libxl/libxl.h
> @@ -1051,6 +1051,13 @@ void libxl_mac_copy(libxl_ctx *ctx, libxl_mac *dst, const libxl_mac *src);
>   */
>  #define LIBXL_HAVE_QED 1
>  
> +/*
> + * LIBXL_HAVE_SET_PARAMETERS
> + *
> + * If this is defined setting hypervisor parameters is supported.
> + */
> +#define LIBXL_HAVE_SET_PARAMETERS 1
> +
>  typedef char **libxl_string_list;
>  void libxl_string_list_dispose(libxl_string_list *sl);
>  int libxl_string_list_length(const libxl_string_list *sl);
> @@ -2106,6 +2113,10 @@ int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
>  int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
>  int libxl_send_debug_keys(libxl_ctx *ctx, char *keys);
>  
> +#ifdef LIBXL_HAVE_SET_PARAMETERS
> +int libxl_set_parameters(libxl_ctx *ctx, char *params);
> +#endif
> +

No need to have this enclosed in macro.

>  typedef struct libxl__xen_console_reader libxl_xen_console_reader;
>  
>  libxl_xen_console_reader *
> -- 
> 2.12.3
>
Jürgen Groß Aug. 10, 2017, 5:32 p.m. UTC | #2
On 10/08/17 18:28, Wei Liu wrote:
> On Wed, Aug 09, 2017 at 09:07:04AM +0200, Juergen Gross wrote:
>> Add a new libxl function to set hypervisor parameters at runtime
>> similar to boot time parameters via command line.
>>
>> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
>> Cc: Wei Liu <wei.liu2@citrix.com>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>>  tools/libxl/libxl.c | 14 ++++++++++++++
>>  tools/libxl/libxl.h | 11 +++++++++++
>>  2 files changed, 25 insertions(+)
>>
>> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
>> index 0ef874406f..f370e445de 100644
>> --- a/tools/libxl/libxl.c
>> +++ b/tools/libxl/libxl.c
>> @@ -652,6 +652,20 @@ int libxl_send_debug_keys(libxl_ctx *ctx, char *keys)
>>      return 0;
>>  }
>>  
>> +int libxl_set_parameters(libxl_ctx *ctx, char *params)
>> +{
>> +    int ret;
>> +    GC_INIT(ctx);
>> +    ret = xc_set_parameters(ctx->xch, params);
>> +    if ( ret < 0 ) {
> 
> Extraneous spaces.

So the 48 hypervisor patches left some traces...


Juergen
diff mbox

Patch

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 0ef874406f..f370e445de 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -652,6 +652,20 @@  int libxl_send_debug_keys(libxl_ctx *ctx, char *keys)
     return 0;
 }
 
+int libxl_set_parameters(libxl_ctx *ctx, char *params)
+{
+    int ret;
+    GC_INIT(ctx);
+    ret = xc_set_parameters(ctx->xch, params);
+    if ( ret < 0 ) {
+        LOGE(ERROR, "setting parameters");
+        GC_FREE;
+        return ERROR_FAIL;
+    }
+    GC_FREE;
+    return 0;
+}
+
 static int fd_set_flags(libxl_ctx *ctx, int fd,
                         int fcntlgetop, int fcntlsetop, const char *fl,
                         int flagmask, int set_p)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 229e289750..e8262501c2 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -1051,6 +1051,13 @@  void libxl_mac_copy(libxl_ctx *ctx, libxl_mac *dst, const libxl_mac *src);
  */
 #define LIBXL_HAVE_QED 1
 
+/*
+ * LIBXL_HAVE_SET_PARAMETERS
+ *
+ * If this is defined setting hypervisor parameters is supported.
+ */
+#define LIBXL_HAVE_SET_PARAMETERS 1
+
 typedef char **libxl_string_list;
 void libxl_string_list_dispose(libxl_string_list *sl);
 int libxl_string_list_length(const libxl_string_list *sl);
@@ -2106,6 +2113,10 @@  int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
 int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
 int libxl_send_debug_keys(libxl_ctx *ctx, char *keys);
 
+#ifdef LIBXL_HAVE_SET_PARAMETERS
+int libxl_set_parameters(libxl_ctx *ctx, char *params);
+#endif
+
 typedef struct libxl__xen_console_reader libxl_xen_console_reader;
 
 libxl_xen_console_reader *