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

[Xen-devel] [PATCH] xl: recognize the "extra" entry in the domain config file



"extra" defines extra parameters to be added to the kernel command line,
so append it accordingly.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>

diff -r 685972a898a8 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Mon May 17 17:37:56 2010 -0700
+++ b/tools/libxl/xl_cmdimpl.c  Tue May 18 15:38:38 2010 -0700
@@ -502,14 +502,29 @@
         if (!xlu_cfg_get_long (config, "viridian", &l))
             b_info->u.hvm.viridian = l;
     } else {
-        char *cmdline;
-        if (!xlu_cfg_get_string (config, "root", &buf)) {
-            if (asprintf(&cmdline, "root=%s", buf) < 0) {
-                fprintf(stderr, "Failed to allocate memory in asprintf\n");
-                exit(1);
-            }
-            b_info->u.pv.cmdline = cmdline;
-        }
+       char *cmdline;
+       const char *root, *extra;
+
+       root = NULL;
+       extra = "";
+
+        xlu_cfg_get_string (config, "root", &root);
+        xlu_cfg_get_string (config, "extra", &extra);
+
+       cmdline = NULL;
+
+       if (root) {
+           if (asprintf(&cmdline, "root=%s %s", root, extra) == -1)
+               cmdline = NULL;
+       } else
+           cmdline = strdup(extra);
+
+       if ((root || extra) && !cmdline) {
+           fprintf(stderr, "Failed to allocate memory for cmdline\n");
+           exit(1);
+       }
+
+       b_info->u.pv.cmdline = cmdline;
         if (!xlu_cfg_get_string (config, "ramdisk", &buf))
             b_info->u.pv.ramdisk = strdup(buf);
     }



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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