]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
nodedev: Revert auto-start property for mdevs v7.4.0-rc2
authorJonathon Jongsma <jjongsma@redhat.com>
Wed, 26 May 2021 15:40:26 +0000 (10:40 -0500)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 27 May 2021 13:38:28 +0000 (15:38 +0200)
We supported autostart of node devices via an xml element, but this
is not consistent with other libvirt objects which use an explicit API
for setting autostart status. So revert this and implement it as an
official API in a future commit.

The initial support was refactored after merging, so this commit reverts
both of those previous commits.

Revert "virNodeDevCapMdevParseXML: Use virXMLPropEnum() for ./start/@type"
This reverts commit 9d4cd1d1cda84aa15b77a506f2ad6362a74edf1a.

Revert "nodedev: support auto-start property for mdevs"
This reverts commit 42a558549935336cbdb7cbfe8b239ffb0e3442e3.

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
12 files changed:
docs/formatnode.html.in
docs/schemas/nodedev.rng
src/conf/node_device_conf.c
src/conf/node_device_conf.h
src/libvirt_private.syms
src/node_device/node_device_driver.c
tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml
tests/nodedevxml2xmlout/mdev_3627463d_b7f0_4fea_b468_f1da537d301b.xml [changed from file to symlink]
tests/nodedevxml2xmlout/mdev_d069d019_36ea_4111_8f0a_8c9a70e21366.xml
tests/nodedevxml2xmlout/mdev_d2441d39_495e_4243_ad9f_beb3f14c23d9.xml
tests/nodedevxml2xmlout/mdev_ee0b88c4_f554_4dc1_809d_b2a01e8e48ad.xml [changed from file to symlink]
tests/nodedevxml2xmlout/mdev_fedc4916_1ca8_49ac_b176_871d16c13076.xml

index 9a505f0fe92dbafc6da36b7e5cab2c8f44d4b5a6..3b3c3105d4fc6e058add3a8ffbde4030e97a1412 100644 (file)
               <dd>
                 This element represents the UUID of the mediated device.
               </dd>
-              <dt><code>start</code></dt>
-              <dd>
-                This element represents the start policy for the device.  It
-                has a required attribute <code>type</code>, which can have a
-                value of <code>auto</code> or <code>manual</code>. Mediated
-                devices with an <code>auto</code> start type will be started
-                automatically by the host when the parent device becomes
-                available (either on boot, or when the parent device is
-                attached). Otherwise the device must be started manually.
-              </dd>
             </dl>
           </dd>
           <dt><code>ccw</code></dt>
index 660cbda3be17ab76fb1644bf60d4022673d1ecce..777227c38ab6ed2cdd762d47a7894bbbec5b2780 100644 (file)
           </attribute>
         </element>
       </optional>
-      <optional>
-        <element name="start">
-          <attribute name="type">
-            <choice>
-              <value>manual</value>
-              <value>auto</value>
-            </choice>
-          </attribute>
-          <empty/>
-        </element>
-      </optional>
       <optional>
         <element name="uuid">
           <ref name="UUID"/>
index af72e160a5f36f35ba5e1fdef683a1034efa5ae9..332b12f9971c999dc8c70b90b941a35405c8592e 100644 (file)
@@ -85,12 +85,6 @@ VIR_ENUM_IMPL(virNodeDevDRM,
               "render",
 );
 
-VIR_ENUM_IMPL(virNodeDevMdevStart,
-              VIR_NODE_DEV_MDEV_START_LAST,
-              "manual",
-              "auto",
-);
-
 static int
 virNodeDevCapsDefParseString(const char *xpath,
                              xmlXPathContextPtr ctxt,
@@ -534,8 +528,6 @@ virNodeDeviceCapMdevDefFormat(virBuffer *buf,
 
     virBufferEscapeString(buf, "<type id='%s'/>\n", data->mdev.type);
     virBufferEscapeString(buf, "<uuid>%s</uuid>\n", data->mdev.uuid);
-    virBufferEscapeString(buf, "<start type='%s'/>\n",
-                          virNodeDevMdevStartTypeToString(data->mdev.start));
     virBufferAsprintf(buf, "<iommuGroup number='%u'/>\n",
                       data->mdev.iommuGroupNumber);
 
@@ -1157,6 +1149,7 @@ virNodeDevCapStorageParseXML(xmlXPathContextPtr ctxt,
                 return -1;
             }
             storage->removable_media_size = val;
+
             ctxt->node = orignode2;
         } else {
             virReportError(VIR_ERR_INTERNAL_ERROR,
@@ -1919,7 +1912,6 @@ virNodeDevCapMdevParseXML(xmlXPathContextPtr ctxt,
     g_autofree xmlNodePtr *attrs = NULL;
     size_t i;
     g_autofree char *uuidstr = NULL;
-    xmlNodePtr startNode = NULL;
 
     ctxt->node = node;
 
@@ -1941,17 +1933,6 @@ virNodeDevCapMdevParseXML(xmlXPathContextPtr ctxt,
         virUUIDFormat(uuidbuf, mdev->uuid);
     }
 
-    mdev->start = VIR_NODE_DEV_MDEV_START_MANUAL;
-
-    startNode = virXPathNode("./start[1]", ctxt);
-    if (startNode &&
-        virXMLPropEnumDefault(startNode, "type",
-                              virNodeDevMdevStartTypeFromString,
-                              VIR_XML_PROP_NONE, &mdev->start,
-                              VIR_NODE_DEV_MDEV_START_MANUAL) < 0) {
-        return -1;
-    }
-
     /* 'iommuGroup' is optional, only report an error if the supplied value is
      * invalid (-2), not if it's missing (-1) */
     if (virXPathUInt("number(./iommuGroup[1]/@number)",
index 1a31133c4c17866be477575681c464952e95cb6a..a60562e4fe63cb0c12a6c349eb4f94f909b07217 100644 (file)
@@ -124,17 +124,6 @@ typedef enum {
 
 VIR_ENUM_DECL(virNodeDevDRM);
 
-typedef enum {
-    /* Keep in sync with VIR_ENUM_IMPL in node_device_conf.c */
-    VIR_NODE_DEV_MDEV_START_MANUAL,
-    VIR_NODE_DEV_MDEV_START_AUTO,
-
-    VIR_NODE_DEV_MDEV_START_LAST
-} virNodeDevMdevStartType;
-
-VIR_ENUM_DECL(virNodeDevMdevStart);
-
-
 typedef struct _virNodeDevCapSystemHardware virNodeDevCapSystemHardware;
 struct _virNodeDevCapSystemHardware {
     char *vendor_name;
@@ -162,7 +151,6 @@ struct _virNodeDevCapMdev {
     char *type;
     unsigned int iommuGroupNumber;
     char *uuid;
-    virNodeDevMdevStartType start;
     virMediatedDeviceAttr **attributes;
     size_t nattributes;
 };
index 333cca0b412e30105d26e56ade5ccc633517f0bd..0ced2a7990fdfb535c49cfb0c588d1dce643a53d 100644 (file)
@@ -848,8 +848,6 @@ virNodeDeviceGetSCSIHostCaps;
 virNodeDeviceGetSCSITargetCaps;
 virNodeDeviceGetWWNs;
 virNodeDeviceUpdateCaps;
-virNodeDevMdevStartTypeFromString;
-virNodeDevMdevStartTypeToString;
 
 
 # conf/node_device_event.h
index a9f605715b79022c7ed247edda46df75bf197ce0..8a0a2c3847caa486ab061e43c5cc1ca771f5fdd4 100644 (file)
@@ -615,8 +615,7 @@ nodeDeviceDefToMdevctlConfig(virNodeDeviceDef *def, char **buf)
     if (virJSONValueObjectAppendString(json, "mdev_type", mdev->type) < 0)
         return -1;
 
-    if (virJSONValueObjectAppendString(json, "start",
-                                       virNodeDevMdevStartTypeToString(mdev->start)) < 0)
+    if (virJSONValueObjectAppendString(json, "start", "manual") < 0)
         return -1;
 
     if (mdev->attributes) {
@@ -1015,8 +1014,6 @@ nodeDeviceParseMdevctlChildDevice(const char *parent,
     mdev->uuid = g_strdup(uuid);
     mdev->type =
         g_strdup(virJSONValueObjectGetString(props, "mdev_type"));
-    mdev->start =
-        virNodeDevMdevStartTypeFromString(virJSONValueObjectGetString(props, "start"));
 
     attrs = virJSONValueObjectGet(props, "attrs");
 
@@ -1686,8 +1683,6 @@ nodeDeviceDefCopyFromMdevctl(virNodeDeviceDef *dst,
         dstmdev->uuid = g_strdup(srcmdev->uuid);
     }
 
-    dstmdev->start = srcmdev->start;
-
     if (virMediatedDeviceAttrsCopy(dstmdev, srcmdev))
         ret = true;
 
index 83a3010455633a5dd52cf2b229e9719e9666efc1..cf7e96625605f88b6d2fe0fd1086e92c553a7988 100644 (file)
@@ -4,7 +4,6 @@
   <capability type='mdev'>
     <type id='i915-GVTg_V5_4'/>
     <uuid>200f228a-c80a-4d50-bfb7-f5a0e4e34045</uuid>
-    <start type='manual'/>
     <iommuGroup number='0'/>
   </capability>
 </device>
@@ -14,7 +13,6 @@
   <capability type='mdev'>
     <type id='i915-GVTg_V5_4'/>
     <uuid>de807ffc-1923-4d5f-b6c9-b20ecebc6d4b</uuid>
-    <start type='auto'/>
     <iommuGroup number='0'/>
   </capability>
 </device>
@@ -24,7 +22,6 @@
   <capability type='mdev'>
     <type id='i915-GVTg_V5_8'/>
     <uuid>435722ea-5f43-468a-874f-da34f1217f13</uuid>
-    <start type='manual'/>
     <iommuGroup number='0'/>
     <attr name='testattr' value='42'/>
   </capability>
@@ -35,7 +32,6 @@
   <capability type='mdev'>
     <type id='vfio_ap-passthrough'/>
     <uuid>783e6dbb-ea0e-411f-94e2-717eaad438bf</uuid>
-    <start type='manual'/>
     <iommuGroup number='0'/>
     <attr name='assign_adapter' value='5'/>
     <attr name='assign_adapter' value='6'/>
deleted file mode 100644 (file)
index 30dda60e875d11aeba584c225c9c4adba1ffe54d..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<device>
-  <name>mdev_3627463d_b7f0_4fea_b468_f1da537d301b</name>
-  <parent>computer</parent>
-  <capability type='mdev'>
-    <type id='mtty-1'/>
-    <start type='manual'/>
-    <iommuGroup number='12'/>
-  </capability>
-</device>
new file mode 120000 (symlink)
index 0000000000000000000000000000000000000000..cbc883e48cab1110a92d8e8255656aa46aa9febd
--- /dev/null
@@ -0,0 +1 @@
+../nodedevschemadata/mdev_3627463d_b7f0_4fea_b468_f1da537d301b.xml
\ No newline at end of file
index bff95b015ba8a60e0acc3b692adf165eb59e5070..4f9d49198161cd8952e9d630f3285d3ec96db24a 100644 (file)
@@ -4,7 +4,6 @@
   <capability type='mdev'>
     <type id='i915-GVTg_V5_8'/>
     <uuid>d069d019-36ea-4111-8f0a-8c9a70e21366</uuid>
-    <start type='manual'/>
     <iommuGroup number='0'/>
   </capability>
 </device>
index beb25b1989c4c9ebfd4a95acad3a6fb7d121adc6..1aa0afe085daa48d306a8c8890765d4be01a8078 100644 (file)
@@ -3,7 +3,6 @@
   <parent>pci_0000_00_02_0</parent>
   <capability type='mdev'>
     <type id='i915-GVTg_V5_8'/>
-    <start type='manual'/>
     <iommuGroup number='0'/>
     <attr name='example-attribute-1' value='attribute-value-1'/>
     <attr name='example-attribute-2' value='attribute-value-2'/>
deleted file mode 100644 (file)
index 1988ffa679d11de76ae21478fb9a78009e1ac9a9..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<device>
-  <name>mdev_ee0b88c4-f554-4dc1-809d-b2a01e8e48ad</name>
-  <path>/sys/devices/vfio_ap/matrix/mdev_ee0b88c4-f554-4dc1-809d-b2a01e8e48ad</path>
-  <parent>ap_matrix</parent>
-  <capability type='mdev'>
-    <type id='vfio_ap-passthrough'/>
-    <start type='manual'/>
-    <iommuGroup number='0'/>
-  </capability>
-</device>
new file mode 120000 (symlink)
index 0000000000000000000000000000000000000000..238bfb4dfd747e1d9d0a0bcd5e63ee958eb28f78
--- /dev/null
@@ -0,0 +1 @@
+../nodedevschemadata/mdev_ee0b88c4_f554_4dc1_809d_b2a01e8e48ad.xml
\ No newline at end of file
index 1d6dbb61181fc915c8c49c1b7e06c9fa879f9db0..da2a7023042e3e218752c426eb3d51c7b0b3f618 100644 (file)
@@ -3,7 +3,6 @@
   <parent>pci_0000_00_02_0</parent>
   <capability type='mdev'>
     <type id='i915-GVTg_V5_8'/>
-    <start type='manual'/>
     <iommuGroup number='0'/>
     <attr name='example-attribute' value='attribute-value'/>
   </capability>