[libvirt] [PATCH 05/15] docs: Add docs and rng schema for new XML cdbfilter

Osier Yang jyang at redhat.com
Wed Dec 5 08:20:39 UTC 2012


Since "rawio" and "cdbfilter" are only valid for "lun", this
groups them together; And since both of them intend to allow
the unprivledged user to use the SG_IO commands, they must be
exclusive.
---
 docs/formatdomain.html.in     |   13 +++++++++-
 docs/schemas/domaincommon.rng |   52 ++++++++++++++++++++++++++++------------
 2 files changed, 48 insertions(+), 17 deletions(-)

diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 0574e68..cab6952 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -1395,7 +1395,18 @@
         rawio='yes', rawio capability will be enabled for all disks in
         the domain (because, in the case of QEMU, this capability can
         only be set on a per-process basis). This attribute is only
-        valid when device is "lun".
+        valid when device is "lun". NB, <code>rawio</code> intends to
+        confine the capability per-device, however, current QEMU
+        implementation gives the domain process broader capability
+        than that (per-process basis, affects all the domain disks).
+        To confine the capability as much as possible for QEMU driver
+        as this stage, <code>cdbfilter</code> is recommended.
+        The optional <code>cdbfilter</code> attribute
+        (<span class="since">since 1.0.1</span>) indicates whether the
+        kernel will filter unprivileged SG_IO for the disk, valid settings
+        are "yes" or "no" (defaults to "yes"). Note that it's exclusive
+        with attribute <code>rawio</code>; Same with <code>rawio</code>,
+        <code>cdbfilter</code> is only valid for device 'lun'.
         The optional <code>snapshot</code> attribute indicates the default
         behavior of the disk during disk snapshots: "internal"
         requires a file format such as qcow2 that can store both the
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 0e85739..4113521 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -957,24 +957,44 @@
     -->
   <define name="disk">
     <element name="disk">
-      <optional>
-        <attribute name="device">
-          <choice>
-            <value>floppy</value>
-            <value>disk</value>
-            <value>cdrom</value>
-            <value>lun</value>
-          </choice>
-        </attribute>
-      </optional>
-      <optional>
-        <attribute name="rawio">
+      <choice>
+        <group>
+          <optional>
+            <attribute name="device">
+              <choice>
+                <value>floppy</value>
+                <value>disk</value>
+                <value>cdrom</value>
+              </choice>
+            </attribute>
+          </optional>
+        </group>
+        <group>
+          <optional>
+            <attribute name="device">
+              <value>lun</value>
+            </attribute>
+          </optional>
           <choice>
-            <value>yes</value>
-            <value>no</value>
+            <optional>
+              <attribute name="rawio">
+                <choice>
+                  <value>yes</value>
+                  <value>no</value>
+                </choice>
+              </attribute>
+            </optional>
+            <optional>
+              <attribute name="cdbfilter">
+                <choice>
+                  <value>yes</value>
+                  <value>no</value>
+                </choice>
+              </attribute>
+            </optional>
           </choice>
-        </attribute>
-      </optional>
+        </group>
+      </choice>
       <optional>
         <ref name="snapshot"/>
       </optional>
-- 
1.7.7.6




More information about the libvir-list mailing list