]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
docs: Add docs and rng schema for new XML tag sgio
authorOsier Yang <jyang@redhat.com>
Wed, 2 Jan 2013 14:37:08 +0000 (22:37 +0800)
committerOsier Yang <jyang@redhat.com>
Mon, 7 Jan 2013 13:37:24 +0000 (21:37 +0800)
This introduces new XML tag "sgio" for disk, its valid values
are "filtered" and "unfiltered", setting it as "filtered" will
set the disk's unpriv_sgio to 0, and "unfiltered" to set it
as 1, which allows the unprivileged SG_IO commands.

docs/formatdomain.html.in
docs/schemas/domaincommon.rng

index 94df6f8b90fefed511e24277e5e07cab354c965d..977497af297fc07f574928df9d8ed8311b8158ae 100644 (file)
         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>sgio</code> is recommended, it's more
+        secure than <code>rawio</code>.
+        The optional <code>sgio</code> (<span class="since">since 1.0.2</span>)
+        attribute indicates whether the kernel will filter unprivileged
+        SG_IO commands for the disk, valid settings are "filtered" or
+        "unfiltered". Defaults to "filtered". Similar to <code>rawio</code>,
+        <code>sgio</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
index 0529d627e18fd8c68662f59c08cf934da8a3cee1..7a9778159facbda3ba94dec4040131652a9fdedf 100644 (file)
     -->
   <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>
-            <value>yes</value>
-            <value>no</value>
-          </choice>
-        </attribute>
-      </optional>
+      <choice>
+        <group>
+          <optional>
+            <attribute name="device">
+              <choice>
+                <value>floppy</value>
+                <value>disk</value>
+                <value>cdrom</value>
+              </choice>
+            </attribute>
+          </optional>
+        </group>
+        <group>
+          <attribute name="device">
+            <choice>
+              <value>lun</value>
+            </choice>
+          </attribute>
+          <optional>
+            <attribute name="rawio">
+              <choice>
+                <value>yes</value>
+                <value>no</value>
+              </choice>
+            </attribute>
+          </optional>
+          <optional>
+            <attribute name="sgio">
+              <choice>
+                <value>filtered</value>
+                <value>unfiltered</value>
+              </choice>
+            </attribute>
+          </optional>
+        </group>
+      </choice>
       <optional>
         <ref name="snapshot"/>
       </optional>