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

Re: [Xen-devel] [PATCH 2/6] xl: Implement XENMEM_claim_pages support via 'claim_mode' global config



On Fri, Apr 12, 2013 at 03:51:04PM -0400, Konrad Rzeszutek Wilk wrote:
> > Of these I prefer 1.  Opinions ?  Whatever we do needs to be in 4.3.
> 
> There is also option 5. Define a new macro:
> 
> diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
> index 4922313..4a6ee76 100644
> --- a/tools/libxl/libxl.h
> +++ b/tools/libxl/libxl.h
> @@ -359,6 +359,11 @@ typedef struct {
>      int val;
>  } libxl_defbool;
>  
> +#define DEFINE_BOOL(name, _val) \
> +    libxl_defbool name = { .val = _val }
> +#define DEFINE_FALSE_BOOL(name) DEFINE_BOOL(name, LIBXL__DEFBOOL_FALSE)
> +#define DEFINE_TRUE_BOOL(name) DEFINE_BOOL(name, LIBXL__DEFBOOL_TRUE)
> +
>  void libxl_defbool_set(libxl_defbool *db, bool b);
>  /* Resets to default */
>  void libxl_defbool_unset(libxl_defbool *db);
> 
> 
> And use DEFINE_FALSE_BOOL(claim_mode) in the xl.h file.
> 

Correction (But now that I look at it, it is not that much nicer as you
end up with LIBXL__DEFBOOL in the header file. <sigh>


diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 03a9782..436b60c 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -222,10 +222,6 @@ void libxl_key_value_list_dispose(libxl_key_value_list 
*pkvl)
     free(kvl);
 }
 
-#define LIBXL__DEFBOOL_DEFAULT (0)
-#define LIBXL__DEFBOOL_FALSE (-1)
-#define LIBXL__DEFBOOL_TRUE (1)
-
 void libxl_defbool_set(libxl_defbool *db, bool b)
 {
     db->val = b ? LIBXL__DEFBOOL_TRUE : LIBXL__DEFBOOL_FALSE;
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 4922313..308a315 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -359,6 +359,15 @@ typedef struct {
     int val;
 } libxl_defbool;
 
+#define LIBXL__DEFBOOL_DEFAULT (0)
+#define LIBXL__DEFBOOL_FALSE (-1)
+#define LIBXL__DEFBOOL_TRUE (1)
+
+#define DEFINE_BOOL(name, _val) \
+    libxl_defbool name = { .val = _val }
+#define DEFINE_FALSE_BOOL(name) DEFINE_BOOL(name, LIBXL__DEFBOOL_FALSE)
+#define DEFINE_TRUE_BOOL(name) DEFINE_BOOL(name, LIBXL__DEFBOOL_TRUE)
+
 void libxl_defbool_set(libxl_defbool *db, bool b);
 /* Resets to default */
 void libxl_defbool_unset(libxl_defbool *db);
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 3c141bf..4b42b87 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -46,7 +46,7 @@ char *default_vifscript = NULL;
 char *default_bridge = NULL;
 char *default_gatewaydev = NULL;
 enum output_format default_output_format = OUTPUT_FORMAT_JSON;
-libxl_defbool claim_mode;
+DEFINE_FALSE_BOOL(claim_mode);
 
 static xentoollog_level minmsglevel = XTL_PROGRESS;
 
@@ -170,7 +170,6 @@ static void parse_global_config(const char *configfile,
     if (!xlu_cfg_get_string (config, "blkdev_start", &buf, 0))
         blkdev_start = strdup(buf);
 
-    libxl_defbool_setdefault(&claim_mode, false);
     (void)xlu_cfg_get_defbool (config, "claim_mode", &claim_mode, 0);
 
     xlu_cfg_destroy(config);

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


 


Rackspace

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