WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] libxl: disks: allow specification of "bac

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] libxl: disks: allow specification of "backendtype=phy|tap|qdisk"
From: Xen patchbot-unstable <patchbot@xxxxxxx>
Date: Fri, 08 Jul 2011 06:22:17 +0100
Delivery-date: Thu, 07 Jul 2011 22:25:54 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
# Date 1309259955 -3600
# Node ID c82d727c17b9ef4452b2dbf08495f6bc4f7e4bca
# Parent  c7180c353eb248e3a9824cf2d6f771a383b00391
libxl: disks: allow specification of "backendtype=phy|tap|qdisk"

Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Committed-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
---


diff -r c7180c353eb2 -r c82d727c17b9 docs/misc/xl-disk-configuration.txt
--- a/docs/misc/xl-disk-configuration.txt       Tue Jun 28 12:19:14 2011 +0100
+++ b/docs/misc/xl-disk-configuration.txt       Tue Jun 28 12:19:15 2011 +0100
@@ -139,6 +139,23 @@
 Convenience alias for "devtype=cdrom".
 
 
+backendtype=<backend-type>
+--------------------------
+
+Description:           Specifies the backend implementation to use
+Supported values:      phy, tap, qdisk
+Mandatory:             No
+Default value:         Automatically determine which backend to use.
+
+This does not affect the guest's view of the device.  It controls
+which software implementation of the Xen backend driver us used.
+
+Not all backend drivers support all combinations of other options.
+For example, "phy" does not support formats other than "raw".
+Normally this option should not be specified, in which case libxl will
+automatically determine the most suitable backend.
+
+
 script=<script>
 ---------------
 
diff -r c7180c353eb2 -r c82d727c17b9 tools/libxl/libxlu_disk_l.c
--- a/tools/libxl/libxlu_disk_l.c       Tue Jun 28 12:19:14 2011 +0100
+++ b/tools/libxl/libxlu_disk_l.c       Tue Jun 28 12:19:15 2011 +0100
@@ -357,8 +357,8 @@
        *yy_cp = '\0'; \
        yyg->yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 24
-#define YY_END_OF_BUFFER 25
+#define YY_NUM_RULES 25
+#define YY_END_OF_BUFFER 26
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -366,86 +366,90 @@
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_acclist[436] =
+static yyconst flex_int16_t yy_acclist[453] =
     {   0,
-       23,   23,   25,   21,   22,   24, 8193,   21,   22,   24,
-    16385, 8193,   21,   24,16385,   21,   22,   24,   22,   24,
-       21,   22,   24,   21,   22,   24,   21,   22,   24,   21,
-       22,   24,   21,   22,   24,   21,   22,   24,   21,   22,
-       24,   21,   22,   24,   21,   22,   24,   21,   22,   24,
-       21,   22,   24,   21,   22,   24,   21,   22,   24,   21,
-       22,   24,   23,   24,   24,   21,   21, 8193,   21, 8193,
-       21,16385, 8193,   21, 8193,   21,   21, 8212,   21,16404,
-       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
-       21,   21,   21,   21,   21,   21,   21,   23, 8193,   21,
+       24,   24,   26,   22,   23,   25, 8193,   22,   23,   25,
+    16385, 8193,   22,   25,16385,   22,   23,   25,   23,   25,
+       22,   23,   25,   22,   23,   25,   22,   23,   25,   22,
+       23,   25,   22,   23,   25,   22,   23,   25,   22,   23,
+       25,   22,   23,   25,   22,   23,   25,   22,   23,   25,
+       22,   23,   25,   22,   23,   25,   22,   23,   25,   22,
+       23,   25,   22,   23,   25,   24,   25,   25,   22,   22,
+     8193,   22, 8193,   22,16385, 8193,   22, 8193,   22,   22,
+     8213,   22,16405,   22,   22,   22,   22,   22,   22,   22,
+       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
 
-     8193,   21, 8193, 8212,   21, 8212,   21, 8212,   11,   21,
-       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
-       21,   21,   21,   21,   21, 8212,   21, 8212,   21, 8212,
-       11,   21,   16, 8212,   21,16404,   21,   21,   21,   21,
-       21,   21, 8212,   21,16404,   19, 8212,   21,16404,   21,
-     8204, 8212,   21,16396,16404,   21,   21, 8207, 8212,   21,
-    16399,16404,   21,   21,   21,   21,   16, 8212,   21,   16,
-     8212,   21,   16,   21,   16, 8212,    3,   21,   21,   18,
-     8212,   21,16404,   21,   21,   21,   21,   19, 8212,   21,
-       19, 8212,   21,   19,   21,   19, 8212, 8204, 8212,   21,
+       22,   24, 8193,   22, 8193,   22, 8193, 8213,   22, 8213,
+       22, 8213,   12,   22,   22,   22,   22,   22,   22,   22,
+       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
+     8213,   22, 8213,   22, 8213,   12,   22,   17, 8213,   22,
+    16405,   22,   22,   22,   22,   22,   22,   22, 8213,   22,
+    16405,   20, 8213,   22,16405,   22, 8205, 8213,   22,16397,
+    16405,   22,   22, 8208, 8213,   22,16400,16405,   22,   22,
+       22,   22,   17, 8213,   22,   17, 8213,   22,   17,   22,
+       17, 8213,   22,    3,   22,   22,   19, 8213,   22,16405,
+       22,   22,   22,   22,   20, 8213,   22,   20, 8213,   22,
 
-     8204, 8212,   21, 8204,   21, 8204, 8212,   21, 8207, 8212,
-       21, 8207, 8212,   21, 8207,   21, 8207, 8212,   21,   21,
-        8,   21,   16, 8212,   21,   16, 8212,   21,   16, 8212,
-       16,   21,   16,    3,   21,   21,   18, 8212,   21,   18,
-     8212,   21,   18,   21,   18, 8212,   21,   17, 8212,   21,
-    16404, 8205, 8212,   21,16397,16404,   21,   19, 8212,   21,
-       19, 8212,   21,   19, 8212,   19,   21,   19, 8204, 8212,
-       21, 8204, 8212,   21, 8204, 8212, 8204,   21, 8204,   21,
-     8207, 8212,   21, 8207, 8212,   21, 8207, 8212, 8207,   21,
-     8207,   21,   21,    8,   11,    8,    7,   21,   18, 8212,
+       20,   22,   20, 8213, 8205, 8213,   22, 8205, 8213,   22,
+     8205,   22, 8205, 8213,   22, 8208, 8213,   22, 8208, 8213,
+       22, 8208,   22, 8208, 8213,   22,   22,    9,   22,   17,
+     8213,   22,   17, 8213,   22,   17, 8213,   17,   22,   17,
+       22,    3,   22,   22,   19, 8213,   22,   19, 8213,   22,
+       19,   22,   19, 8213,   22,   18, 8213,   22,16405, 8206,
+     8213,   22,16398,16405,   22,   20, 8213,   22,   20, 8213,
+       22,   20, 8213,   20,   22,   20, 8205, 8213,   22, 8205,
+     8213,   22, 8205, 8213, 8205,   22, 8205,   22, 8208, 8213,
+       22, 8208, 8213,   22, 8208, 8213, 8208,   22, 8208,   22,
 
-       21,   18, 8212,   21,   18, 8212,   18,   21,   18,    2,
-       17, 8212,   21,   17, 8212,   21,   17,   21,   17, 8212,
-     8205, 8212,   21, 8205, 8212,   21, 8205,   21, 8205, 8212,
-       21,    9,   21,   10,    8,    8,   11,    7,   11,    7,
-        6,    2,   11,    2,   17, 8212,   21,   17, 8212,   21,
-       17, 8212,   17,   21,   17, 8205, 8212,   21, 8205, 8212,
-       21, 8205, 8212, 8205,   21, 8205,   21,    9,   11,    9,
-       14, 8212,   21,16404,   10,   11,   10,    7,    7,   11,
-        6,   11,    6,    6,   11,    6,   11,    2,    2,   11,
-     8205,   21,16397,    9,    9,   11,   14, 8212,   21,   14,
+       22,    9,   12,    9,    7,   22,   22,   19, 8213,   22,
+       19, 8213,   22,   19, 8213,   19,   22,   19,    2,   18,
+     8213,   22,   18, 8213,   22,   18,   22,   18, 8213, 8206,
+     8213,   22, 8206, 8213,   22, 8206,   22, 8206, 8213,   22,
+       10,   22,   11,    9,    9,   12,    7,   12,    7,   22,
+        6,    2,   12,    2,   18, 8213,   22,   18, 8213,   22,
+       18, 8213,   18,   22,   18, 8206, 8213,   22, 8206, 8213,
+       22, 8206, 8213, 8206,   22, 8206,   22,   10,   12,   10,
+       15, 8213,   22,16405,   11,   12,   11,    7,    7,   12,
+       22,    6,   12,    6,    6,   12,    6,   12,    2,    2,
 
-     8212,   21,   14,   21,   14, 8212,   10,   11,    6,    6,
-       11,    6,    6,   14, 8212,   21,   14, 8212,   21,   14,
-     8212,   14,   21,   14,    6,    6,    6,    5,    6,    4,
-        6,    5,    6,    4,    6
+       12, 8206,   22,16398,   10,   10,   12,   15, 8213,   22,
+       15, 8213,   22,   15,   22,   15, 8213,   11,   12,   22,
+        6,    6,   12,    6,    6,   15, 8213,   22,   15, 8213,
+       22,   15, 8213,   15,   22,   15,   22,    6,    6,    8,
+        6,    5,    6,    8,   12,    4,    6,    5,    6,    8,
+        4,    6
     } ;
 
-static yyconst flex_int16_t yy_accept[241] =
+static yyconst flex_int16_t yy_accept[255] =
     {   0,
         1,    1,    1,    2,    3,    4,    7,   12,   16,   19,
        21,   24,   27,   30,   33,   36,   39,   42,   45,   48,
-       51,   54,   57,   60,   63,   65,   66,   67,   68,   70,
-       73,   75,   76,   77,   78,   81,   81,   82,   83,   84,
-       85,   86,   87,   88,   89,   90,   91,   92,   93,   94,
-       95,   96,   97,   98,   99,  101,  103,  104,  106,  108,
-      109,  110,  111,  112,  113,  114,  115,  116,  117,  118,
-      119,  120,  121,  122,  123,  124,  125,  126,  128,  130,
-      131,  132,  133,  137,  138,  139,  140,  141,  142,  143,
-      146,  150,  151,  156,  157,  158,  163,  164,  165,  166,
+       51,   54,   57,   60,   63,   66,   68,   69,   70,   71,
+       73,   76,   78,   79,   80,   81,   84,   84,   85,   86,
+       87,   88,   89,   90,   91,   92,   93,   94,   95,   96,
+       97,   98,   99,  100,  101,  102,  103,  105,  107,  108,
+      110,  112,  113,  114,  115,  116,  117,  118,  119,  120,
+      121,  122,  123,  124,  125,  126,  127,  128,  129,  130,
+      131,  133,  135,  136,  137,  138,  142,  143,  144,  145,
+      146,  147,  148,  149,  152,  156,  157,  162,  163,  164,
 
-      167,  170,  173,  175,  177,  179,  180,  184,  185,  186,
-      187,  188,  191,  194,  196,  198,  201,  204,  206,  208,
-      209,  212,  215,  217,  219,  220,  221,  222,  223,  226,
-      229,  231,  233,  234,  236,  237,  240,  243,  245,  247,
-      248,  252,  257,  258,  261,  264,  266,  268,  269,  272,
-      275,  277,  279,  280,  281,  284,  287,  289,  291,  292,
-      293,  294,  296,  297,  298,  299,  302,  305,  307,  309,
-      310,  311,  314,  317,  319,  321,  324,  327,  329,  331,
-      332,  333,  334,  335,  336,  338,  340,  341,  342,  344,
-      345,  348,  351,  353,  355,  356,  359,  362,  364,  366,
+      169,  170,  171,  172,  173,  176,  179,  181,  183,  184,
+      186,  187,  191,  192,  193,  194,  195,  198,  201,  203,
+      205,  208,  211,  213,  215,  216,  219,  222,  224,  226,
+      227,  228,  229,  230,  233,  236,  238,  240,  241,  242,
+      244,  245,  248,  251,  253,  255,  256,  260,  265,  266,
+      269,  272,  274,  276,  277,  280,  283,  285,  287,  288,
+      289,  292,  295,  297,  299,  300,  301,  302,  304,  305,
+      306,  307,  308,  311,  314,  316,  318,  319,  320,  323,
+      326,  328,  330,  333,  336,  338,  340,  341,  342,  343,
+      344,  345,  347,  349,  350,  351,  352,  354,  355,  358,
 
-      367,  368,  370,  371,  375,  377,  378,  379,  381,  383,
-      384,  386,  388,  389,  391,  394,  395,  397,  400,  403,
-      405,  407,  409,  410,  412,  413,  414,  417,  420,  422,
-      424,  425,  426,  427,  428,  430,  432,  434,  436,  436
+      361,  363,  365,  366,  369,  372,  374,  376,  377,  378,
+      380,  381,  385,  387,  388,  389,  391,  392,  394,  395,
+      397,  399,  400,  402,  405,  406,  408,  411,  414,  416,
+      418,  420,  421,  422,  424,  425,  426,  429,  432,  434,
+      436,  437,  438,  439,  440,  441,  442,  444,  446,  448,
+      450,  451,  453,  453
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -488,214 +492,242 @@
         1,    1,    1
     } ;
 
-static yyconst flex_int16_t yy_base[295] =
+static yyconst flex_int16_t yy_base[311] =
     {   0,
-        0,    0,  545,  544,  546,  541,   32,   35,  549,  549,
-       44,   62,  531,  529,  519,   33,   26,  530,  523,  527,
-      528,  525,  526,   42,    0,  549,  531,  549,   65,   73,
-        0,    0,   82,    0,   91,    0,  522,  509,  505,  500,
-      519,  508,  501,  513,  514,  512,  491,  499,  490,  494,
-       15,  506,  506,    0,   69,    0,    0,   94,    0,    0,
-      514,  503,  508,  491,  485,  499,  490,  489,  482,  501,
-      500,  475,  498,  487,   94,  488,  472,  101,    0,    0,
-      549,  474,  110,  477,  462,  475,  461,  437,  425,  422,
-      119,   53,  128,  398,  403,  137,  389,  389,  382,  355,
+        0,    0,  560,  556,  555,  539,   32,   35,  662,  662,
+       44,   62,   30,   40,   32,   50,  525,   49,   47,   59,
+       68,  517,   69,  509,   72,    0,  662,  507,  662,   83,
+       91,    0,    0,  100,  489,  109,    0,   78,   51,   86,
+       89,   74,   96,  105,  109,  110,  111,  112,  117,   73,
+      119,  118,  121,  120,  122,    0,  134,    0,    0,  138,
+        0,    0,  471,  130,  144,  129,  143,  145,  146,  147,
+      148,  149,  153,  154,  155,  158,  161,  165,  166,  170,
+      180,    0,    0,  662,  171,  201,  176,  175,  178,  183,
+      458,  182,  190,  446,  212,  188,  221,  208,  224,  234,
 
-      140,    0,  144,    0,  371,  342,  153,  330,  339,  315,
-       54,  156,    0,  160,    0,  163,    0,  167,    0,  287,
-      170,    0,  174,    0,  279,  270,  277,  271,  177,    0,
-        0,    0,    0,  549,  265,  181,    0,  184,    0,  269,
-      193,  202,   76,  205,    0,    0,    0,    0,  209,    0,
-        0,    0,    0,  268,  212,    0,    0,    0,    0,  256,
-      266,  270,  549,  269,  263,  216,    0,    0,    0,    0,
-      267,  219,    0,  223,    0,  226,    0,  230,    0,   75,
-      265,  260,  105,  241,  549,  234,  549,  113,  227,  549,
-      233,    0,    0,    0,    0,  237,    0,    0,    0,    0,
+      209,  230,  236,  221,  244,    0,  247,    0,  184,  248,
+      244,  269,  231,  247,  251,  258,  272,    0,  279,    0,
+      283,    0,  286,    0,  255,  290,    0,  293,    0,  270,
+      281,  447,  254,  297,    0,    0,    0,    0,  294,  662,
+      295,  308,    0,  310,    0,  257,  319,  328,  304,  331,
+        0,    0,    0,    0,  335,    0,    0,    0,    0,  316,
+      338,    0,    0,    0,    0,  333,  336,  429,  662,  428,
+      338,  340,  348,    0,    0,    0,    0,  427,  351,    0,
+      355,    0,  359,    0,  362,    0,  357,  426,  308,  369,
+      425,  662,  423,  662,  346,  365,  421,  662,  371,    0,
 
-      239,  220,  549,  247,  196,    0,  148,  549,  147,  549,
-      178,  171,  131,  549,  250,  112,  549,  254,    0,  257,
-        0,    0,  102,  549,  240,  164,  261,    0,    0,    0,
-        0,  258,  130,  195,   85,   39,  549,  549,  549,  282,
-      286,  289,  293,  297,  301,  305,  309,  313,  317,  321,
-      325,  329,  333,  337,  341,  345,  349,  353,  357,  361,
-      365,  369,  373,  377,  381,  385,  389,  393,  397,  401,
-      405,  409,  413,  417,  421,  425,  429,  433,  437,  441,
-      445,  449,  453,  457,  461,  465,  469,  473,  477,  481,
-      485,  489,  493,  497
+        0,    0,    0,  378,    0,    0,    0,    0,  380,  420,
+      662,  388,  419,    0,  418,  662,  373,  417,  662,  372,
+      382,  416,  662,  398,  415,  662,  400,    0,  402,    0,
+        0,  385,  264,  662,  390,  275,  409,    0,    0,    0,
+        0,  405,  404,  406,    0,  412,  224,  129,   87,  662,
+       47,  662,  662,  434,  438,  441,  445,  449,  453,  457,
+      461,  465,  469,  473,  477,  481,  485,  489,  493,  497,
+      501,  505,  509,  513,  517,  521,  525,  529,  533,  537,
+      541,  545,  549,  553,  557,  561,  565,  569,  573,  577,
+      581,  585,  589,  593,  597,  601,  605,  609,  613,  617,
+
+      621,  625,  629,  633,  637,  641,  645,  649,  653,  657
+    } ;
+
+static yyconst flex_int16_t yy_def[311] =
+    {   0,
+      253,    1,  254,  254,  253,  255,  256,  256,  253,  253,
+      257,  257,   12,   12,   12,   12,   12,   12,   12,   12,
+       12,   12,   12,   12,   12,  258,  253,  255,  253,  259,
+      256,  260,  260,  261,   12,  255,  262,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
+       12,   12,   12,   12,   12,  258,  259,  260,  260,  263,
+      264,  264,  253,   12,   12,   12,   12,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
+      263,  264,  264,  253,   12,  265,   12,   12,   12,   12,
+       12,   12,   12,   36,  266,   12,  267,   12,   12,  268,
+
+       12,   12,   12,   12,  269,  270,  265,  270,   12,   12,
+       12,  271,   12,   12,   12,  255,  272,  273,  266,  273,
+      274,  275,  267,  275,   12,  276,  277,  268,  277,   12,
+       12,  278,   12,  269,  270,  270,  279,  279,   12,  253,
+       12,  280,  281,  271,  281,   12,  282,  283,  255,  272,
+      273,  273,  284,  284,  274,  275,  275,  285,  285,   12,
+      276,  277,  277,  286,  286,   12,   12,  287,  253,  288,
+       12,   12,  280,  281,  281,  289,  289,  290,  291,  292,
+      282,  292,  293,  294,  283,  294,  255,  295,   12,  296,
+      287,  253,  297,  253,   12,  298,  299,  253,  291,  292,
+
+      292,  300,  300,  293,  294,  294,  301,  301,  255,  302,
+      253,  303,  304,  304,  297,  253,   12,  305,  253,  305,
+      305,  299,  253,  283,  302,  253,  306,  307,  303,  307,
+      304,   12,  305,  253,  305,  305,  306,  307,  307,  308,
+      308,   12,  305,  305,  309,  305,  305,  310,  305,  253,
+      310,  253,    0,  253,  253,  253,  253,  253,  253,  253,
+      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
+      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
+      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
+      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
+
+      253,  253,  253,  253,  253,  253,  253,  253,  253,  253
+    } ;
+
+static yyconst flex_int16_t yy_nxt[696] =
+    {   0,
+        6,    7,    8,    9,    6,    6,    6,    6,   10,   11,
+       12,   13,   14,   15,   16,   17,   17,   18,   17,   17,
+       17,   17,   19,   17,   20,   21,   22,   23,   24,   17,
+       25,   17,   17,   31,   31,   32,   31,   31,   32,   35,
+       33,   35,   41,   33,   28,   28,   28,   29,   34,   35,
+      253,   36,   37,   42,   43,   38,   35,   48,   35,   35,
+       35,   39,   28,   28,   28,   29,   34,   44,   35,   36,
+       37,   40,   46,   45,   65,   49,   47,   35,   35,   50,
+       52,   35,   35,   35,   54,   28,   58,   35,   55,   64,
+      252,   59,   31,   31,   32,   35,   75,   66,   35,   33,
+
+       28,   28,   28,   29,   68,   35,   48,   28,   37,   60,
+       60,   60,   61,   60,   35,   67,   60,   62,   35,   35,
+       35,   35,   72,   71,   73,   69,   35,   35,   35,   35,
+       35,   35,   84,   80,   76,   70,   28,   58,   35,   35,
+       28,   82,   59,   85,   77,   78,   83,   79,   87,   74,
+       76,   86,   35,   35,   35,   35,   35,   35,   35,   90,
+       94,   95,   35,   35,   35,   97,   88,   35,   91,   92,
+       35,   99,  100,   89,   35,   35,   93,  101,   98,   35,
+       35,  102,   28,   82,   35,   35,   96,   35,   83,  109,
+      112,   35,   35,   35,   76,   97,  110,   35,  104,   35,
+
+      103,  105,  105,   60,  106,  105,  139,  115,  105,  108,
+      111,  114,  117,  117,   60,  118,  117,   35,   35,  117,
+      120,  121,  121,   60,  122,  121,  130,  250,  121,  124,
+       35,  100,  125,   35,  126,  126,   60,  127,  126,   35,
+       35,  126,  129,  131,  132,   35,   28,  135,  133,   28,
+      137,  140,  136,   35,  147,  138,   35,   35,  148,  146,
+       35,   29,  170,   35,   35,  178,   35,  219,  141,  142,
+      142,   60,  143,  142,   28,  151,  142,  145,  219,   35,
+      152,   28,  153,  160,  149,   28,  156,  154,   28,  158,
+       35,  157,   28,  162,  159,   28,  164,  166,  163,   28,
+
+      135,  165,  244,   35,   35,  136,  171,   29,  172,  167,
+       28,  174,   28,  176,  187,  212,  175,   35,  177,  179,
+      179,   60,  180,  179,  188,   35,  179,  182,  183,  183,
+       60,  184,  183,   28,  151,  183,  186,   28,  156,  152,
+       28,  162,   35,  157,  190,   35,  163,   35,  196,   35,
+       28,  174,  189,   28,  200,   35,  175,   28,  202,  201,
+       29,   28,  205,  203,   28,  207,  195,  206,  219,  209,
+      208,   63,  214,   28,  200,  234,  220,  221,  217,  201,
+       28,  205,   35,   29,  235,  234,  206,  224,  227,  227,
+       60,  228,  227,  219,   35,  227,  230,  232,  242,  236,
+
+       28,  207,   28,  238,   28,  240,  208,  219,  239,  219,
+      241,   28,  238,  245,   35,  219,  243,  239,  211,  198,
+      234,  194,  231,  226,  223,  247,  216,  246,  169,  211,
+      198,  194,  192,  249,   26,   26,   26,   26,   28,   28,
+       28,   30,   30,   30,   30,   35,   35,   35,   35,   56,
+      169,   56,   56,   57,   57,   57,   57,   59,  116,   59,
+       59,   34,   34,   34,   34,   63,   63,  113,   63,   81,
+       81,   81,   81,   83,   84,   83,   83,  107,  107,  107,
+      107,  119,  119,  119,  119,  123,  123,  123,  123,  128,
+      128,  128,  128,  134,  134,  134,  134,  136,   35,  136,
+
+      136,  144,  144,  144,  144,  150,  150,  150,  150,  152,
+       29,  152,  152,  155,  155,  155,  155,  157,   53,  157,
+      157,  161,  161,  161,  161,  163,   51,  163,  163,  168,
+      168,  168,  168,  138,   35,  138,  138,  173,  173,  173,
+      173,  175,   29,  175,  175,  181,  181,  181,  181,  185,
+      185,  185,  185,  154,  253,  154,  154,  159,   27,  159,
+      159,  165,   27,  165,  165,  191,  191,  191,  191,  193,
+      193,  193,  193,  177,  253,  177,  177,  197,  197,  197,
+      197,  199,  199,  199,  199,  201,  253,  201,  201,  204,
+      204,  204,  204,  206,  253,  206,  206,  210,  210,  210,
+
+      210,  213,  213,  213,  213,  215,  215,  215,  215,  218,
+      218,  218,  218,  222,  222,  222,  222,  203,  253,  203,
+      203,  208,  253,  208,  208,  225,  225,  225,  225,  229,
+      229,  229,  229,  214,  253,  214,  214,  233,  233,  233,
+      233,  237,  237,  237,  237,  239,  253,  239,  239,  241,
+      253,  241,  241,  248,  248,  253,  248,  251,  251,  251,
+      251,    5,  253,  253,  253,  253,  253,  253,  253,  253,
+      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
+      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
+      253,  253,  253,  253,  253
 
     } ;
 
-static yyconst flex_int16_t yy_def[295] =
-    {   0,
-      239,    1,  240,  240,  239,  241,  242,  242,  239,  239,
-      243,  243,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,  244,  239,  241,  239,  245,  242,
-      246,  246,  247,   12,  241,  248,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,  244,  245,  246,  246,  249,  250,  250,
-      239,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,  249,  250,  250,
-      239,   12,  251,   12,   12,   12,   12,   12,   12,   35,
-      252,   12,  253,   12,   12,  254,   12,   12,   12,   12,
-
-      255,  256,  251,  256,   12,   12,  257,   12,   12,   12,
-      241,  258,  259,  252,  259,  260,  261,  253,  261,   12,
-      262,  263,  254,  263,   12,   12,  264,   12,  255,  256,
-      256,  265,  265,  239,   12,  266,  267,  257,  267,   12,
-      268,  269,  241,  258,  259,  259,  270,  270,  260,  261,
-      261,  271,  271,   12,  262,  263,  263,  272,  272,   12,
-       12,  273,  239,  274,   12,  266,  267,  267,  275,  275,
-      276,  277,  278,  268,  278,  279,  280,  269,  280,  241,
-      281,   12,  282,  273,  239,  283,  239,  284,  285,  239,
-      277,  278,  278,  286,  286,  279,  280,  280,  287,  287,
-
-      241,  288,  239,  289,  290,  290,  283,  239,  291,  239,
-      291,  291,  285,  239,  269,  288,  239,  292,  293,  289,
-      293,  290,  291,  239,  291,  291,  292,  293,  293,  294,
-      294,  291,  291,  291,  291,  291,  239,  239,    0,  239,
-      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
-      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
-      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
-      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
-      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
-      239,  239,  239,  239
-
-    } ;
-
-static yyconst flex_int16_t yy_nxt[583] =
-    {   0,
-        6,    7,    8,    9,    6,    6,    6,    6,   10,   11,
-       12,   13,   14,   15,   16,   12,   12,   17,   12,   12,
-       12,   12,   18,   12,   19,   20,   21,   22,   23,   12,
-       24,   12,   12,   30,   30,   31,   30,   30,   31,   75,
-       32,   76,  238,   32,   27,   27,   27,   28,   33,   44,
-       42,   35,   36,   45,   52,   37,   43,   28,   53,   73,
-       93,   38,   27,   27,   27,   28,   33,   27,   56,   35,
-       36,   27,   56,   57,   30,   30,   31,   57,   28,   28,
-      143,   32,   27,   27,   27,   28,  180,  201,  237,   27,
-       36,   58,   58,   58,   59,   58,   27,   79,   58,   60,
-
-       95,   96,   80,   27,   79,  210,   97,   61,  206,   80,
-      101,  101,   58,  102,  101,  203,  210,  101,  104,  112,
-      112,   58,  113,  112,  211,  212,  112,  115,  116,  116,
-       58,  117,  116,  210,  190,  116,  119,  121,  121,   58,
-      122,  121,   27,  130,  121,  124,   27,  132,  131,  235,
-      224,  187,  133,  136,  136,   58,  137,  136,   27,  145,
-      136,  139,   27,  147,  146,   27,  150,  210,  148,   27,
-      152,  151,   27,  156,  224,  153,   27,  158,  157,   27,
-      130,  224,  159,   27,  167,  131,   27,  169,  226,  168,
-      225,  233,  170,  172,  172,   58,  173,  172,  210,  222,
-
-      172,  175,  176,  176,   58,  177,  176,   27,  145,  176,
-      179,   27,  150,  146,   27,  156,  236,  151,   27,  167,
-      157,   27,  192,  217,  168,   27,  194,  193,   27,  197,
-      214,  195,   27,  199,  198,   27,  192,  208,  200,   27,
-      197,  193,   28,  210,  163,  198,  215,  218,  218,   58,
-      219,  218,   27,  199,  218,  221,   27,  228,  200,   27,
-      230,  210,  229,   27,  228,  231,  232,  204,  203,  229,
-      190,  188,  187,  185,  183,  182,  181,  171,  165,  164,
-      163,  234,   25,   25,   25,   25,   27,   27,   27,   29,
-       29,   29,   29,   34,   34,   34,   34,   54,  161,   54,
-
-       54,   55,   55,   55,   55,   57,  160,   57,   57,   33,
-       33,   33,   33,   61,   61,  154,   61,   78,   78,   78,
-       78,   80,  142,   80,   80,  103,  103,  103,  103,  114,
-      114,  114,  114,  118,  118,  118,  118,  123,  123,  123,
-      123,  129,  129,  129,  129,  131,  141,  131,  131,  138,
-      138,  138,  138,  144,  144,  144,  144,  146,  140,  146,
-      146,  149,  149,  149,  149,  151,  135,  151,  151,  155,
-      155,  155,  155,  157,  134,  157,  157,  162,  162,  162,
-      162,  133,  128,  133,  133,  166,  166,  166,  166,  168,
-      127,  168,  168,  174,  174,  174,  174,  178,  178,  178,
-
-      178,  148,  126,  148,  148,  153,  125,  153,  153,  159,
-       96,  159,  159,  184,  184,  184,  184,  186,  186,  186,
-      186,  170,  120,  170,  170,  189,  189,  189,  189,  191,
-      191,  191,  191,  193,  111,  193,  193,  196,  196,  196,
-      196,  198,  110,  198,  198,  202,  202,  202,  202,  205,
-      205,  205,  205,  207,  207,  207,  207,  209,  209,  209,
-      209,  213,  213,  213,  213,  195,  109,  195,  195,  200,
-      108,  200,  200,  216,  216,  216,  216,  220,  220,  220,
-      220,  206,  107,  206,  206,  223,  223,  223,  223,  227,
-      227,  227,  227,  229,  106,  229,  229,  231,  105,  231,
-
-      231,  100,   99,   98,   94,   93,   92,   91,   90,   89,
-       88,   87,   86,   85,   84,   83,   82,   81,   73,   77,
-       74,   73,   72,   71,   70,   69,   68,   67,   66,   46,
-       65,   64,   63,   62,   28,   51,   50,   49,   48,   47,
-       46,   41,   40,   39,   28,  239,   26,   26,    5,  239,
-      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
-      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
-      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
-      239,  239
-    } ;
-
-static yyconst flex_int16_t yy_chk[583] =
+static yyconst flex_int16_t yy_chk[696] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    7,    7,    7,    8,    8,    8,   51,
-        7,   51,  236,    8,   11,   11,   11,   11,   11,   17,
-       16,   11,   11,   17,   24,   11,   16,  111,   24,   92,
-       92,   11,   12,   12,   12,   12,   12,   29,   29,   12,
-       12,   55,   55,   29,   30,   30,   30,   55,  180,  143,
-      111,   30,   33,   33,   33,   33,  143,  180,  235,   33,
-       33,   35,   35,   35,   35,   35,   58,   58,   35,   35,
+        1,    1,    1,    7,    7,    7,    8,    8,    8,   13,
+        7,   15,   13,    8,   11,   11,   11,   11,   11,   14,
+      251,   11,   11,   14,   15,   11,   19,   19,   18,   16,
+       39,   11,   12,   12,   12,   12,   12,   16,   20,   12,
+       12,   12,   18,   16,   39,   20,   18,   21,   23,   21,
+       23,   25,   50,   42,   25,   30,   30,   38,   25,   38,
+      249,   30,   31,   31,   31,   40,   50,   40,   41,   31,
 
-       75,   75,   58,   78,   78,  223,   75,  183,  183,   78,
-       83,   83,   83,   83,   83,  216,  188,   83,   83,   91,
-       91,   91,   91,   91,  188,  188,   91,   91,   93,   93,
-       93,   93,   93,  233,  213,   93,   93,   96,   96,   96,
-       96,   96,  101,  101,   96,   96,  103,  103,  101,  233,
-      209,  207,  103,  107,  107,  107,  107,  107,  112,  112,
-      107,  107,  114,  114,  112,  116,  116,  226,  114,  118,
-      118,  116,  121,  121,  212,  118,  123,  123,  121,  129,
-      129,  211,  123,  136,  136,  129,  138,  138,  212,  136,
-      211,  226,  138,  141,  141,  141,  141,  141,  234,  205,
+       34,   34,   34,   34,   42,   43,   43,   34,   34,   36,
+       36,   36,   36,   36,   44,   41,   36,   36,   45,   46,
+       47,   48,   47,   46,   48,   44,   49,   52,   51,   54,
+       53,   55,  248,   54,   55,   45,   57,   57,   66,   64,
+       60,   60,   57,   64,   52,   53,   60,   53,   66,   49,
+       51,   65,   67,   65,   68,   69,   70,   71,   72,   69,
+       73,   74,   73,   74,   75,   76,   67,   76,   70,   71,
+       77,   78,   78,   68,   78,   79,   72,   78,   77,   80,
+       85,   79,   81,   81,   88,   87,   75,   89,   81,   87,
+       90,   92,   90,  109,   96,   96,   88,   96,   85,   93,
 
-      141,  141,  142,  142,  142,  142,  142,  144,  144,  142,
-      142,  149,  149,  144,  155,  155,  234,  149,  166,  166,
-      155,  172,  172,  202,  166,  174,  174,  172,  176,  176,
-      189,  174,  178,  178,  176,  191,  191,  186,  178,  196,
-      196,  191,  201,  225,  184,  196,  201,  204,  204,  204,
-      204,  204,  215,  215,  204,  204,  218,  218,  215,  220,
-      220,  232,  218,  227,  227,  220,  225,  182,  181,  227,
-      171,  165,  164,  162,  161,  160,  154,  140,  135,  128,
-      127,  232,  240,  240,  240,  240,  241,  241,  241,  242,
-      242,  242,  242,  243,  243,  243,  243,  244,  126,  244,
+       80,   86,   86,   86,   86,   86,  109,   93,   86,   86,
+       89,   92,   95,   95,   95,   95,   95,   98,  101,   95,
+       95,   97,   97,   97,   97,   97,  101,  247,   97,   97,
+      104,   99,   98,   99,  100,  100,  100,  100,  100,  102,
+      113,  100,  100,  102,  103,  103,  105,  105,  104,  107,
+      107,  110,  105,  111,  114,  107,  114,  110,  115,  113,
+      115,  116,  133,  133,  125,  146,  146,  233,  111,  112,
+      112,  112,  112,  112,  117,  117,  112,  112,  236,  130,
+      117,  119,  119,  125,  116,  121,  121,  119,  123,  123,
+      131,  121,  126,  126,  123,  128,  128,  130,  126,  134,
 
-      244,  245,  245,  245,  245,  246,  125,  246,  246,  247,
-      247,  247,  247,  248,  248,  120,  248,  249,  249,  249,
-      249,  250,  110,  250,  250,  251,  251,  251,  251,  252,
-      252,  252,  252,  253,  253,  253,  253,  254,  254,  254,
-      254,  255,  255,  255,  255,  256,  109,  256,  256,  257,
-      257,  257,  257,  258,  258,  258,  258,  259,  108,  259,
-      259,  260,  260,  260,  260,  261,  106,  261,  261,  262,
-      262,  262,  262,  263,  105,  263,  263,  264,  264,  264,
-      264,  265,  100,  265,  265,  266,  266,  266,  266,  267,
-       99,  267,  267,  268,  268,  268,  268,  269,  269,  269,
+      134,  128,  236,  139,  141,  134,  139,  149,  141,  131,
+      142,  142,  144,  144,  149,  189,  142,  189,  144,  147,
+      147,  147,  147,  147,  160,  160,  147,  147,  148,  148,
+      148,  148,  148,  150,  150,  148,  148,  155,  155,  150,
+      161,  161,  166,  155,  167,  167,  161,  171,  172,  172,
+      173,  173,  166,  179,  179,  195,  173,  181,  181,  179,
+      187,  183,  183,  181,  185,  185,  171,  183,  196,  187,
+      185,  190,  190,  199,  199,  220,  196,  196,  195,  199,
+      204,  204,  217,  209,  220,  221,  204,  209,  212,  212,
+      212,  212,  212,  235,  232,  212,  212,  217,  232,  221,
 
-      269,  270,   98,  270,  270,  271,   97,  271,  271,  272,
-       95,  272,  272,  273,  273,  273,  273,  274,  274,  274,
-      274,  275,   94,  275,  275,  276,  276,  276,  276,  277,
-      277,  277,  277,  278,   90,  278,  278,  279,  279,  279,
-      279,  280,   89,  280,  280,  281,  281,  281,  281,  282,
-      282,  282,  282,  283,  283,  283,  283,  284,  284,  284,
-      284,  285,  285,  285,  285,  286,   88,  286,  286,  287,
-       87,  287,  287,  288,  288,  288,  288,  289,  289,  289,
-      289,  290,   86,  290,  290,  291,  291,  291,  291,  292,
-      292,  292,  292,  293,   85,  293,  293,  294,   84,  294,
+      224,  224,  227,  227,  229,  229,  224,  243,  227,  244,
+      229,  237,  237,  242,  242,  246,  235,  237,  225,  222,
+      218,  215,  213,  210,  197,  244,  193,  243,  191,  188,
+      178,  170,  168,  246,  254,  254,  254,  254,  255,  255,
+      255,  256,  256,  256,  256,  257,  257,  257,  257,  258,
+      132,  258,  258,  259,  259,  259,  259,  260,   94,  260,
+      260,  261,  261,  261,  261,  262,  262,   91,  262,  263,
+      263,  263,  263,  264,   63,  264,  264,  265,  265,  265,
+      265,  266,  266,  266,  266,  267,  267,  267,  267,  268,
+      268,  268,  268,  269,  269,  269,  269,  270,   35,  270,
 
-      294,   82,   77,   76,   74,   73,   72,   71,   70,   69,
-       68,   67,   66,   65,   64,   63,   62,   61,   53,   52,
-       50,   49,   48,   47,   46,   45,   44,   43,   42,   41,
-       40,   39,   38,   37,   27,   23,   22,   21,   20,   19,
-       18,   15,   14,   13,    6,    5,    4,    3,  239,  239,
-      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
-      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
-      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
-      239,  239
+      270,  271,  271,  271,  271,  272,  272,  272,  272,  273,
+       28,  273,  273,  274,  274,  274,  274,  275,   24,  275,
+      275,  276,  276,  276,  276,  277,   22,  277,  277,  278,
+      278,  278,  278,  279,   17,  279,  279,  280,  280,  280,
+      280,  281,    6,  281,  281,  282,  282,  282,  282,  283,
+      283,  283,  283,  284,    5,  284,  284,  285,    4,  285,
+      285,  286,    3,  286,  286,  287,  287,  287,  287,  288,
+      288,  288,  288,  289,    0,  289,  289,  290,  290,  290,
+      290,  291,  291,  291,  291,  292,    0,  292,  292,  293,
+      293,  293,  293,  294,    0,  294,  294,  295,  295,  295,
+
+      295,  296,  296,  296,  296,  297,  297,  297,  297,  298,
+      298,  298,  298,  299,  299,  299,  299,  300,    0,  300,
+      300,  301,    0,  301,  301,  302,  302,  302,  302,  303,
+      303,  303,  303,  304,    0,  304,  304,  305,  305,  305,
+      305,  306,  306,  306,  306,  307,    0,  307,  307,  308,
+        0,  308,  308,  309,  309,    0,  309,  310,  310,  310,
+      310,  253,  253,  253,  253,  253,  253,  253,  253,  253,
+      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
+      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
+      253,  253,  253,  253,  253
+
     } ;
 
 #define YY_TRAILING_MASK 0x2000
@@ -815,10 +847,18 @@
     else xlu__disk_err(dpc,str,"unknown value for format");
 }
  
+/* Sets ->backend from the string.  IDL should provide something for this. */
+static void setbackendtype(DiskParseContext *dpc, const char *str) {
+    if (     !strcmp(str,"phy"))   DSET(dpc,backend,BACKEND,str,PHY);
+    else if (!strcmp(str,"tap"))   DSET(dpc,backend,BACKEND,str,TAP);
+    else if (!strcmp(str,"qdisk")) DSET(dpc,backend,BACKEND,str,QDISK);
+    else xlu__disk_err(dpc,str,"unknown value for backendtype");
+}
+ 
 #define DEPRECATE(usewhatinstead) /* not currently reported */
 
 
-#line 822 "libxlu_disk_l.c"
+#line 862 "libxlu_disk_l.c"
 
 #define INITIAL 0
 #define LEXERR 1
@@ -1054,12 +1094,12 @@
        register int yy_act;
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
-#line 118 "libxlu_disk_l.l"
+#line 126 "libxlu_disk_l.l"
 
 
  /*----- the scanner rules which do the parsing -----*/
 
-#line 1063 "libxlu_disk_l.c"
+#line 1103 "libxlu_disk_l.c"
 
        if ( !yyg->yy_init )
                {
@@ -1123,14 +1163,14 @@
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != 
yy_current_state )
                                {
                                yy_current_state = (int) 
yy_def[yy_current_state];
-                               if ( yy_current_state >= 240 )
+                               if ( yy_current_state >= 254 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + 
(unsigned int) yy_c];
                        *yyg->yy_state_ptr++ = yy_current_state;
                        ++yy_cp;
                        }
-               while ( yy_current_state != 239 );
+               while ( yy_current_state != 253 );
 
 yy_find_action:
                yy_current_state = *--yyg->yy_state_ptr;
@@ -1180,148 +1220,154 @@
 case 1:
 /* rule 1 can match eol */
 YY_RULE_SETUP
-#line 122 "libxlu_disk_l.l"
+#line 130 "libxlu_disk_l.l"
 { /* ignore whitespace before parameters */ }
        YY_BREAK
 /* ordinary parameters setting enums or strings */
 case 2:
 /* rule 2 can match eol */
 YY_RULE_SETUP
-#line 126 "libxlu_disk_l.l"
+#line 134 "libxlu_disk_l.l"
 { STRIP(','); setformat(DPC, FROMEQUALS); }
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 128 "libxlu_disk_l.l"
+#line 136 "libxlu_disk_l.l"
 { DPC->disk->is_cdrom = 1; }
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 129 "libxlu_disk_l.l"
+#line 137 "libxlu_disk_l.l"
 { DPC->disk->is_cdrom = 1; }
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 130 "libxlu_disk_l.l"
+#line 138 "libxlu_disk_l.l"
 { DPC->disk->is_cdrom = 0; }
        YY_BREAK
 case 6:
 /* rule 6 can match eol */
 YY_RULE_SETUP
-#line 131 "libxlu_disk_l.l"
+#line 139 "libxlu_disk_l.l"
 { xlu__disk_err(DPC,yytext,"unknown value for type"); }
        YY_BREAK
 case 7:
 /* rule 7 can match eol */
 YY_RULE_SETUP
-#line 133 "libxlu_disk_l.l"
+#line 141 "libxlu_disk_l.l"
 { STRIP(','); setaccess(DPC, FROMEQUALS); }
        YY_BREAK
 case 8:
 /* rule 8 can match eol */
 YY_RULE_SETUP
-#line 135 "libxlu_disk_l.l"
-{ STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); }
+#line 142 "libxlu_disk_l.l"
+{ STRIP(','); setbackendtype(DPC,yytext); }
        YY_BREAK
 case 9:
 /* rule 9 can match eol */
 YY_RULE_SETUP
-#line 136 "libxlu_disk_l.l"
+#line 144 "libxlu_disk_l.l"
+{ STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); }
+       YY_BREAK
+case 10:
+/* rule 10 can match eol */
+YY_RULE_SETUP
+#line 145 "libxlu_disk_l.l"
 { STRIP(','); SAVESTRING("script", script, FROMEQUALS); }
        YY_BREAK
 /* the target magic parameter, eats the rest of the string */
-case 10:
+case 11:
 YY_RULE_SETUP
-#line 140 "libxlu_disk_l.l"
+#line 149 "libxlu_disk_l.l"
 { STRIP(','); SAVESTRING("target", pdev_path, FROMEQUALS); }
        YY_BREAK
 /* unknown parameters */
-case 11:
-/* rule 11 can match eol */
+case 12:
+/* rule 12 can match eol */
 YY_RULE_SETUP
-#line 144 "libxlu_disk_l.l"
+#line 153 "libxlu_disk_l.l"
 { xlu__disk_err(DPC,yytext,"unknown parameter"); }
        YY_BREAK
 /* deprecated prefixes */
 /* the "/.*" in these patterns ensures that they count as if they
    * matched the whole string, so these patterns take precedence */
-case 12:
+case 13:
 YY_RULE_SETUP
-#line 151 "libxlu_disk_l.l"
+#line 160 "libxlu_disk_l.l"
 {
                     STRIP(':');
                     DPC->had_depr_prefix=1; DEPRECATE("use `[format=]...,'");
                     setformat(DPC, yytext);
                  }
        YY_BREAK
-case 13:
+case 14:
 YY_RULE_SETUP
-#line 157 "libxlu_disk_l.l"
+#line 166 "libxlu_disk_l.l"
 {
                    STRIP(':');
                     DPC->had_depr_prefix=1; DEPRECATE("use `script=...'");
                    SAVESTRING("script", script, yytext);
                }
        YY_BREAK
-case 14:
+case 15:
 *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
 yyg->yy_c_buf_p = yy_cp = yy_bp + 8;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 163 "libxlu_disk_l.l"
-{ DPC->had_depr_prefix=1; DEPRECATE(0); }
-       YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 164 "libxlu_disk_l.l"
+#line 172 "libxlu_disk_l.l"
 { DPC->had_depr_prefix=1; DEPRECATE(0); }
        YY_BREAK
 case 16:
+YY_RULE_SETUP
+#line 173 "libxlu_disk_l.l"
+{ DPC->had_depr_prefix=1; DEPRECATE(0); }
+       YY_BREAK
+case 17:
 *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
 yyg->yy_c_buf_p = yy_cp = yy_bp + 4;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 165 "libxlu_disk_l.l"
+#line 174 "libxlu_disk_l.l"
 { DPC->had_depr_prefix=1; DEPRECATE(0); }
        YY_BREAK
-case 17:
+case 18:
 *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
 yyg->yy_c_buf_p = yy_cp = yy_bp + 6;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 166 "libxlu_disk_l.l"
+#line 175 "libxlu_disk_l.l"
 { DPC->had_depr_prefix=1; DEPRECATE(0); }
        YY_BREAK
-case 18:
+case 19:
 *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
 yyg->yy_c_buf_p = yy_cp = yy_bp + 5;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 167 "libxlu_disk_l.l"
+#line 176 "libxlu_disk_l.l"
 { DPC->had_depr_prefix=1; DEPRECATE(0); }
        YY_BREAK
-case 19:
+case 20:
 *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
 yyg->yy_c_buf_p = yy_cp = yy_bp + 4;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 168 "libxlu_disk_l.l"
+#line 177 "libxlu_disk_l.l"
 { DPC->had_depr_prefix=1; DEPRECATE(0); }
        YY_BREAK
-case 20:
-/* rule 20 can match eol */
+case 21:
+/* rule 21 can match eol */
 YY_RULE_SETUP
-#line 170 "libxlu_disk_l.l"
+#line 179 "libxlu_disk_l.l"
 {
                  xlu__disk_err(DPC,yytext,"unknown deprecated disk prefix");
                  return 0;
                }
        YY_BREAK
 /* positional parameters */
-case 21:
-/* rule 21 can match eol */
+case 22:
+/* rule 22 can match eol */
 YY_RULE_SETUP
-#line 177 "libxlu_disk_l.l"
+#line 186 "libxlu_disk_l.l"
 {
     char *colon;
     STRIP(',');
@@ -1356,27 +1402,27 @@
     }
 }
        YY_BREAK
-case 22:
+case 23:
 YY_RULE_SETUP
-#line 211 "libxlu_disk_l.l"
+#line 220 "libxlu_disk_l.l"
 {
     BEGIN(LEXERR);
     yymore();
 }
        YY_BREAK
-case 23:
+case 24:
 YY_RULE_SETUP
-#line 215 "libxlu_disk_l.l"
+#line 224 "libxlu_disk_l.l"
 {
     xlu__disk_err(DPC,yytext,"bad disk syntax"); return 0;
 }
        YY_BREAK
-case 24:
+case 25:
 YY_RULE_SETUP
-#line 218 "libxlu_disk_l.l"
+#line 227 "libxlu_disk_l.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
        YY_BREAK
-#line 1380 "libxlu_disk_l.c"
+#line 1426 "libxlu_disk_l.c"
                        case YY_STATE_EOF(INITIAL):
                        case YY_STATE_EOF(LEXERR):
                                yyterminate();
@@ -1640,7 +1686,7 @@
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != 
yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 240 )
+                       if ( yy_current_state >= 254 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned 
int) yy_c];
@@ -1664,11 +1710,11 @@
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 240 )
+               if ( yy_current_state >= 254 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) 
yy_c];
-       yy_is_jam = (yy_current_state == 239);
+       yy_is_jam = (yy_current_state == 253);
        if ( ! yy_is_jam )
                *yyg->yy_state_ptr++ = yy_current_state;
 
@@ -2468,4 +2514,4 @@
 
 #define YYTABLES_NAME "yytables"
 
-#line 218 "libxlu_disk_l.l"
+#line 227 "libxlu_disk_l.l"
diff -r c7180c353eb2 -r c82d727c17b9 tools/libxl/libxlu_disk_l.h
--- a/tools/libxl/libxlu_disk_l.h       Tue Jun 28 12:19:14 2011 +0100
+++ b/tools/libxl/libxlu_disk_l.h       Tue Jun 28 12:19:15 2011 +0100
@@ -340,7 +340,7 @@
 #undef YY_DECL
 #endif
 
-#line 218 "libxlu_disk_l.l"
+#line 227 "libxlu_disk_l.l"
 
 #line 346 "libxlu_disk_l.h"
 #undef xlu__disk_yyIN_HEADER
diff -r c7180c353eb2 -r c82d727c17b9 tools/libxl/libxlu_disk_l.l
--- a/tools/libxl/libxlu_disk_l.l       Tue Jun 28 12:19:14 2011 +0100
+++ b/tools/libxl/libxlu_disk_l.l       Tue Jun 28 12:19:15 2011 +0100
@@ -100,6 +100,14 @@
     else xlu__disk_err(dpc,str,"unknown value for format");
 }
  
+/* Sets ->backend from the string.  IDL should provide something for this. */
+static void setbackendtype(DiskParseContext *dpc, const char *str) {
+    if (     !strcmp(str,"phy"))   DSET(dpc,backend,BACKEND,str,PHY);
+    else if (!strcmp(str,"tap"))   DSET(dpc,backend,BACKEND,str,TAP);
+    else if (!strcmp(str,"qdisk")) DSET(dpc,backend,BACKEND,str,QDISK);
+    else xlu__disk_err(dpc,str,"unknown value for backendtype");
+}
+ 
 #define DEPRECATE(usewhatinstead) /* not currently reported */
 
 %}
@@ -131,6 +139,7 @@
 devtype=[^,]*,?        { xlu__disk_err(DPC,yytext,"unknown value for type"); }
 
 access=[^,]*,? { STRIP(','); setaccess(DPC, FROMEQUALS); }
+backendtype=[^,]*? { STRIP(','); setbackendtype(DPC,yytext); }
 
 vdev=[^,]*,?   { STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); }
 script=[^,]*,? { STRIP(','); SAVESTRING("script", script, FROMEQUALS); }

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] libxl: disks: allow specification of "backendtype=phy|tap|qdisk", Xen patchbot-unstable <=