Devel
Threads by month
- ----- 2026 -----
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
December 2018
- 52 participants
- 144 discussions
[libvirt] [PATCH] qemu: Add default address type for vhost-user interface on aarch64
by Wang Yechao 17 Dec '18
by Wang Yechao 17 Dec '18
17 Dec '18
on aarch64, hotadd vhost-user interface with the follow xml file:
<interface type='vhostuser'>
<mac address='fa:16:3e:a2:e1:58'/>
<source type='unix' path='/var/run/vhu24a3f044-80' mode='server'/>
<target dev='vhu24a3f044-80'/>
<model type='virtio'/>
</interface>
will get error like that:
error: internal error: Nicdev support unavailable
Because there is no device address type specified in xml file, so
qemuDomainSupportsNicdev returns 'false' when invoked in
qemuDomainAttachNetDevice. Using pci as the default address type,
and assigns pci address later in qemuDomainEnsurePCIAddress.
Signed-off-by: Wang Yechao <wang.yechao255(a)zte.com.cn>
---
src/qemu/qemu_hotplug.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 68d021a..c1464a9 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -1443,6 +1443,11 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver,
queueSize = net->driver.virtio.queues;
if (!queueSize)
queueSize = 1;
+
+ if (!net->info.type &&
+ vm->def->os.arch == VIR_ARCH_AARCH64)
+ net->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI;
+
if (!qemuDomainSupportsNicdev(vm->def, net)) {
virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("Nicdev support unavailable"));
--
1.8.3.1
3
3
/domain/memtune/hard_limit provides a way to cap the memory a VM process
can use, including the amount of memory the process can lock. When memory
locking of a VM is requested, <hard_limit> can be used to prevent the
potential host DoS issue mentioned in /domain/memoryBacking/locked
description.
This patch improves the <hard_limit> text by clarifying it can be used
to prevent "host crashing" when VM memory is locked.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
docs/formatdomain.html.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 428b0e8bb5..07c32f9879 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -1243,9 +1243,9 @@
<a href="#elementsMemoryBacking">memory backing</a> because your
workload demands it, you'll have to take into account the specifics of
your deployment and figure out a value for <code>hard_limit</code> that
- balances the risk of your guest being killed because the limit was set
- too low and the risk of your host crashing because it cannot reclaim
- the memory used by the guest due to <code>locked</code>. Good luck!</dd>
+ is large enough to support the memory requirements of your guest, but
+ small enough to protect your host against a malicious guest locking all
+ memory.</dd>
<dt><code>soft_limit</code></dt>
<dd> The optional <code>soft_limit</code> element is the memory limit to
enforce during memory contention. The units for this value are
--
2.19.1
2
1
[libvirt] [RFC v3 1/4] nvdimm: introduce more config elements into xml for NVDIMM memory
by Luyao Zhong 17 Dec '18
by Luyao Zhong 17 Dec '18
17 Dec '18
1.alignsize
The 'alignsize' option allows users to specify the proper alignment.
2.pmem
The 'pmem' option allows users to specify whether the backend storage of
memory-backend-file is a real persistent memory.
3.unarmed
The 'unarmed' option allows users to mark vNVDIMM read-only.
These options can be configured respectively or simultaneously in domain
xml file, here is an example:
<devices>
...
<memory model='nvdimm' access='shared'>
<source>
<path>/dev/dax0.0</path>
<alignsize unit='MiB'>2</alignsize>
<pmem/>
</source>
<target>
<size unit='MiB'>4094</size>
<node>0</node>
<label>
<size unit='MiB'>2</size>
</label>
<unarmed/>
</target>
</memory>
...
</devices>
Signed-off-by: Luyao Zhong <luyao.zhong(a)intel.com>
---
docs/formatdomain.html.in | 80 ++++++++++++++++++----
docs/schemas/domaincommon.rng | 23 ++++++-
src/conf/domain_conf.c | 61 +++++++++++++++--
src/conf/domain_conf.h | 3 +
.../memory-hotplug-nvdimm-align.xml | 58 ++++++++++++++++
.../memory-hotplug-nvdimm-pmem.xml | 58 ++++++++++++++++
.../memory-hotplug-nvdimm-unarmed.xml | 58 ++++++++++++++++
.../memory-hotplug-nvdimm-align.xml | 1 +
.../memory-hotplug-nvdimm-pmem.xml | 1 +
.../memory-hotplug-nvdimm-unarmed.xml | 1 +
tests/qemuxml2xmltest.c | 3 +
11 files changed, 322 insertions(+), 25 deletions(-)
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.xml
create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-align.xml
create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-pmem.xml
create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-unarmed.xml
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 428b0e8..3f813f2 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -8322,6 +8322,8 @@ qemu-kvm -net nic,model=? /dev/null
<memory model='nvdimm'>
<source>
<path>/tmp/nvdimm</path>
+ <alignsize unit='KiB'>2048</alignsize>
+ <pmem/>
</source>
<target>
<size unit='KiB'>524288</size>
@@ -8329,6 +8331,7 @@ qemu-kvm -net nic,model=? /dev/null
<label>
<size unit='KiB'>128</size>
</label>
+ <unarmed/>
</target>
</memory>
</devices>
@@ -8403,10 +8406,37 @@ qemu-kvm -net nic,model=? /dev/null
</dl>
<p>
- For model <code>nvdimm</code> this element is mandatory and has a
- single child element <code>path</code> that represents a path
- in the host that backs the nvdimm module in the guest.
+ For model <code>nvdimm</code> this element is mandatory. The
+ mandatory child element <code>path</code> represents a path in
+ the host that backs the nvdimm module in the guest. If
+ <code>nvdimm</code> is provided, then the following optional
+ elements can be provided as well:
</p>
+
+ <dl>
+ <dt><code>alignsize</code></dt>
+ <dd>
+ <p>
+ This element can be used to specify a proper alignment.
+ When mmap(2) the backend files, QEMU uses the host page
+ size by default as the alignment of mapping address. However,
+ some backends may require alignments different from the page.
+ For example, mmap a real NVDIMM device maybe 2M-aligned required.
+ <span class="since">Since 4.9.0</span>
+ </p>
+ </dd>
+
+ <dt><code>pmem</code></dt>
+ <dd>
+ <p>
+ This element can be used to specify whether the backend storage
+ of memory-backend-file is a real persistent memory. If the backend
+ is a real persistence memory and <code>pmem</code> is set, QEMU
+ will guarantee the persistence of its own writes to the vNVDIMM
+ backend.<span class="since">Since 4.9.0</span>
+ </p>
+ </dd>
+ </dl>
</dd>
<dt><code>target</code></dt>
@@ -8425,19 +8455,39 @@ qemu-kvm -net nic,model=? /dev/null
NUMA nodes configured.
</p>
<p>
- For NVDIMM type devices one can optionally use
- <code>label</code> and its subelement <code>size</code>
- to configure the size of namespaces label storage
- within the NVDIMM module. The <code>size</code> element
- has usual meaning described
- <a href="#elementsMemoryAllocation">here</a>.
- For QEMU domains the following restrictions apply:
+ Besides, the following optional elements can be provided as well for
+ NVDIMM type devices:
</p>
- <ol>
- <li>the minimum label size is 128KiB,</li>
- <li>the remaining size (total-size - label-size) has to be aligned to
- 4KiB</li>
- </ol>
+
+ <dl>
+ <dt><code>label</code></dt>
+ <dd>
+ <p>
+ For NVDIMM type devices one can optionally use
+ <code>label</code> and its subelement <code>size</code>
+ to configure the size of namespaces label storage
+ within the NVDIMM module. The <code>size</code> element
+ has usual meaning described
+ <a href="#elementsMemoryAllocation">here</a>.
+ For QEMU domains the following restrictions apply:
+ </p>
+ <ol>
+ <li>the minimum label size is 128KiB,</li>
+ <li>the remaining size (total-size - label-size) will be aligned to
+ 4KiB as default.</li>
+ </ol>
+ </dd>
+
+ <dt><code>unarmed</code></dt>
+ <dd>
+ <p>
+ The <code>unarmed</code> element can be used to mark vNVDIMM read-only.
+ Currently, only real NVDIMM device backend can guarantee the guest write
+ persistence, so please set <code>unarmed</code> when using other types
+ of backends.<span class="since">Since 4.9.0</span>
+ </p>
+ </dd>
+ </dl>
</dd>
</dl>
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 5a6c48f..de098a5 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -5384,9 +5384,21 @@
</interleave>
</group>
<group>
- <element name="path">
- <ref name="absFilePath"/>
- </element>
+ <interleave>
+ <element name="path">
+ <ref name="absFilePath"/>
+ </element>
+ <optional>
+ <element name="alignsize">
+ <ref name="scaledInteger"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="pmem">
+ <empty/>
+ </element>
+ </optional>
+ </interleave>
</group>
</choice>
</element>
@@ -5410,6 +5422,11 @@
</element>
</element>
</optional>
+ <optional>
+ <element name="unarmed">
+ <empty/>
+ </element>
+ </optional>
</interleave>
</element>
</define>
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index efa0a94..e16262b 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -15757,6 +15757,16 @@ virDomainMemorySourceDefParseXML(xmlNodePtr node,
_("path is required for model 'nvdimm'"));
goto cleanup;
}
+
+ if (virDomainParseMemory("./alignsize", "./alignsize/@unit", ctxt,
+ &def->alignsize, false, false) < 0)
+ goto cleanup;
+
+ if (virXPathBoolean("boolean(./pmem)", ctxt))
+ def->nvdimmPmem = true;
+ else
+ def->nvdimmPmem = false;
+
break;
case VIR_DOMAIN_MEMORY_MODEL_NONE:
@@ -15813,6 +15823,11 @@ virDomainMemoryTargetDefParseXML(xmlNodePtr node,
_("label size must be smaller than NVDIMM size"));
goto cleanup;
}
+
+ if (virXPathBoolean("boolean(./unarmed)", ctxt))
+ def->nvdimmUnarmed = true;
+ else
+ def->nvdimmUnarmed = false;
}
ret = 0;
@@ -22712,13 +22727,36 @@ virDomainMemoryDefCheckABIStability(virDomainMemoryDefPtr src,
return false;
}
- if (src->model == VIR_DOMAIN_MEMORY_MODEL_NVDIMM &&
- src->labelsize != dst->labelsize) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("Target NVDIMM label size '%llu' doesn't match "
- "source NVDIMM label size '%llu'"),
- src->labelsize, dst->labelsize);
- return false;
+ if (src->model == VIR_DOMAIN_MEMORY_MODEL_NVDIMM) {
+ if (src->labelsize != dst->labelsize) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("Target NVDIMM label size '%llu' doesn't match "
+ "source NVDIMM label size '%llu'"),
+ src->labelsize, dst->labelsize);
+ return false;
+ }
+
+ if (src->alignsize != dst->alignsize) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("Target NVDIMM alignment '%llu' doesn't match "
+ "source NVDIMM alignment '%llu'"),
+ src->alignsize, dst->alignsize);
+ return false;
+ }
+
+ if (src->nvdimmPmem != dst->nvdimmPmem) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("Target NVDIMM pmem flag doesn't match "
+ "source NVDIMM pmem flag "));
+ return false;
+ }
+
+ if (src->nvdimmUnarmed != dst->nvdimmUnarmed) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("Target NVDIMM unarmed flag doesn't match "
+ "source NVDIMM unarmed flag "));
+ return false;
+ }
}
return virDomainDeviceInfoCheckABIStability(&src->info, &dst->info);
@@ -26255,6 +26293,13 @@ virDomainMemorySourceDefFormat(virBufferPtr buf,
case VIR_DOMAIN_MEMORY_MODEL_NVDIMM:
virBufferEscapeString(buf, "<path>%s</path>\n", def->nvdimmPath);
+
+ if (def->alignsize)
+ virBufferAsprintf(buf, "<alignsize unit='KiB'>%llu</alignsize>\n",
+ def->alignsize);
+
+ if (def->nvdimmPmem)
+ virBufferAddLit(buf, "<pmem/>\n");
break;
case VIR_DOMAIN_MEMORY_MODEL_NONE:
@@ -26290,6 +26335,8 @@ virDomainMemoryTargetDefFormat(virBufferPtr buf,
virBufferAdjustIndent(buf, -2);
virBufferAddLit(buf, "</label>\n");
}
+ if (def->nvdimmUnarmed)
+ virBufferAddLit(buf, "<unarmed/>\n");
virBufferAdjustIndent(buf, -2);
virBufferAddLit(buf, "</target>\n");
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index b24e6ec..e921f00 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2149,12 +2149,15 @@ struct _virDomainMemoryDef {
virBitmapPtr sourceNodes;
unsigned long long pagesize; /* kibibytes */
char *nvdimmPath;
+ unsigned long long alignsize; /* kibibytes; valid only for NVDIMM */
+ bool nvdimmPmem; /* valid only for NVDIMM */
/* target */
int model; /* virDomainMemoryModel */
int targetNode;
unsigned long long size; /* kibibytes */
unsigned long long labelsize; /* kibibytes; valid only for NVDIMM */
+ bool nvdimmUnarmed; /* valid only for NVDIMM */
virDomainDeviceInfo info;
};
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml
new file mode 100644
index 0000000..a8c5198
--- /dev/null
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml
@@ -0,0 +1,58 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <maxMemory slots='16' unit='KiB'>1099511627776</maxMemory>
+ <memory unit='KiB'>1267710</memory>
+ <currentMemory unit='KiB'>1267710</currentMemory>
+ <vcpu placement='static' cpuset='0-1'>2</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <idmap>
+ <uid start='0' target='1000' count='10'/>
+ <gid start='0' target='1000' count='10'/>
+ </idmap>
+ <cpu>
+ <topology sockets='2' cores='1' threads='1'/>
+ <numa>
+ <cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-i686</emulator>
+ <disk type='block' device='disk'>
+ <driver name='qemu' type='raw'/>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='ide' index='0'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ </controller>
+ <controller type='usb' index='0'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
+ </controller>
+ <controller type='pci' index='0' model='pci-root'/>
+ <input type='mouse' bus='ps2'/>
+ <input type='keyboard' bus='ps2'/>
+ <memballoon model='virtio'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+ </memballoon>
+ <memory model='nvdimm' access='private'>
+ <source>
+ <path>/tmp/nvdimm</path>
+ <alignsize unit='KiB'>2048</alignsize>
+ </source>
+ <target>
+ <size unit='KiB'>523264</size>
+ <node>0</node>
+ </target>
+ <address type='dimm' slot='0'/>
+ </memory>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml
new file mode 100644
index 0000000..060d75c
--- /dev/null
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml
@@ -0,0 +1,58 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <maxMemory slots='16' unit='KiB'>1099511627776</maxMemory>
+ <memory unit='KiB'>1267710</memory>
+ <currentMemory unit='KiB'>1267710</currentMemory>
+ <vcpu placement='static' cpuset='0-1'>2</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <idmap>
+ <uid start='0' target='1000' count='10'/>
+ <gid start='0' target='1000' count='10'/>
+ </idmap>
+ <cpu>
+ <topology sockets='2' cores='1' threads='1'/>
+ <numa>
+ <cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-i686</emulator>
+ <disk type='block' device='disk'>
+ <driver name='qemu' type='raw'/>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='ide' index='0'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ </controller>
+ <controller type='usb' index='0'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
+ </controller>
+ <controller type='pci' index='0' model='pci-root'/>
+ <input type='mouse' bus='ps2'/>
+ <input type='keyboard' bus='ps2'/>
+ <memballoon model='virtio'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+ </memballoon>
+ <memory model='nvdimm' access='private'>
+ <source>
+ <path>/tmp/nvdimm</path>
+ <pmem/>
+ </source>
+ <target>
+ <size unit='KiB'>523264</size>
+ <node>0</node>
+ </target>
+ <address type='dimm' slot='0'/>
+ </memory>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.xml
new file mode 100644
index 0000000..7ddbb01
--- /dev/null
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.xml
@@ -0,0 +1,58 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <maxMemory slots='16' unit='KiB'>1099511627776</maxMemory>
+ <memory unit='KiB'>1267710</memory>
+ <currentMemory unit='KiB'>1267710</currentMemory>
+ <vcpu placement='static' cpuset='0-1'>2</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <idmap>
+ <uid start='0' target='1000' count='10'/>
+ <gid start='0' target='1000' count='10'/>
+ </idmap>
+ <cpu>
+ <topology sockets='2' cores='1' threads='1'/>
+ <numa>
+ <cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-i686</emulator>
+ <disk type='block' device='disk'>
+ <driver name='qemu' type='raw'/>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='ide' index='0'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ </controller>
+ <controller type='usb' index='0'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
+ </controller>
+ <controller type='pci' index='0' model='pci-root'/>
+ <input type='mouse' bus='ps2'/>
+ <input type='keyboard' bus='ps2'/>
+ <memballoon model='virtio'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+ </memballoon>
+ <memory model='nvdimm' access='private'>
+ <source>
+ <path>/tmp/nvdimm</path>
+ </source>
+ <target>
+ <size unit='KiB'>523264</size>
+ <node>0</node>
+ <unarmed/>
+ </target>
+ <address type='dimm' slot='0'/>
+ </memory>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-align.xml b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-align.xml
new file mode 120000
index 0000000..9fc6001
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-align.xml
@@ -0,0 +1 @@
+../qemuxml2argvdata/memory-hotplug-nvdimm-align.xml
\ No newline at end of file
diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-pmem.xml b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-pmem.xml
new file mode 120000
index 0000000..3e57c1e
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-pmem.xml
@@ -0,0 +1 @@
+../qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml
\ No newline at end of file
diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-unarmed.xml b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-unarmed.xml
new file mode 120000
index 0000000..1793347
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-unarmed.xml
@@ -0,0 +1 @@
+../qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.xml
\ No newline at end of file
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index c98b957..01e3730 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -1112,6 +1112,9 @@ mymain(void)
DO_TEST("memory-hotplug-nvdimm", NONE);
DO_TEST("memory-hotplug-nvdimm-access", NONE);
DO_TEST("memory-hotplug-nvdimm-label", NONE);
+ DO_TEST("memory-hotplug-nvdimm-align", NONE);
+ DO_TEST("memory-hotplug-nvdimm-pmem", NONE);
+ DO_TEST("memory-hotplug-nvdimm-unarmed", NONE);
DO_TEST("net-udp", NONE);
DO_TEST("video-virtio-gpu-device", NONE);
--
2.7.4
2
2
[libvirt] [PATCH] qemu: use line breaks in command line args written to log
by Daniel P. Berrangé 14 Dec '18
by Daniel P. Berrangé 14 Dec '18
14 Dec '18
The QEMU command line arguments are very long and currently all written
on a single line to /var/log/libvirt/qemu/$GUEST.log. This introduces
logic to add line breaks after every env variable and "-" optional
argument, and every positional argument. This will create a clearer log
file, which will in turn present better in bug reports when people cut +
paste from the log into a bug comment.
An example log file entry now looks like this:
2018-12-14 12:57:03.677+0000: starting up libvirt version: 5.0.0, qemu version: 3.0.0qemu-3.0.0-1.fc29, kernel: 4.19.5-300.fc29.x86_64, hostname: localhost.localdomain
LC_ALL=C \
PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin \
HOME=/home/berrange \
USER=berrange \
LOGNAME=berrange \
QEMU_AUDIO_DRV=none \
/usr/bin/qemu-system-ppc64 \
-name guest=guest,debug-threads=on \
-S \
-object secret,id=masterKey0,format=raw,file=/home/berrange/.config/libvirt/qemu/lib/domain-33-guest/master-key.aes \
-machine pseries-2.10,accel=tcg,usb=off,dump-guest-core=off \
-m 1024 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c8a74977-ab18-41d0-ae3b-4041c7fffbcd \
-display none \
-no-user-config \
-nodefaults \
-chardev socket,id=charmonitor,fd=23,server,nowait \
-mon chardev=charmonitor,id=monitor,mode=control \
-rtc base=utc \
-no-shutdown \
-boot strict=on \
-device qemu-xhci,id=usb,bus=pci.0,addr=0x1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
2018-12-14 12:57:03.730+0000: shutting down, reason=failed
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
docs/internals/command.html.in | 2 +-
src/bhyve/bhyve_driver.c | 4 +-
src/qemu/qemu_driver.c | 2 +-
src/qemu/qemu_interface.c | 2 +-
src/qemu/qemu_process.c | 2 +-
src/security/security_apparmor.c | 2 +-
src/util/vircommand.c | 19 ++++++++--
src/util/vircommand.h | 2 +-
src/util/virfirewall.c | 2 +-
tests/bhyvexml2argvtest.c | 4 +-
tests/commanddata/test26.log | 1 +
tests/commandtest.c | 64 +++++++++++++++++++++++++++++++-
tests/qemuxml2argvtest.c | 2 +-
tests/storagepoolxml2argvtest.c | 2 +-
tests/storagevolxml2argvtest.c | 4 +-
15 files changed, 95 insertions(+), 19 deletions(-)
create mode 100644 tests/commanddata/test26.log
diff --git a/docs/internals/command.html.in b/docs/internals/command.html.in
index 43f51a49bb..8a9061e70f 100644
--- a/docs/internals/command.html.in
+++ b/docs/internals/command.html.in
@@ -426,7 +426,7 @@ dprintf(logfd, "%s: ", timestamp);
VIR_FREE(timestamp);
virCommandWriteArgLog(cmd, logfd);
-string = virCommandToString(cmd);
+string = virCommandToString(cmd, false);
if (string)
VIR_DEBUG("about to run %s", string);
VIR_FREE(string);
diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c
index 4998100bc2..912797cfcf 100644
--- a/src/bhyve/bhyve_driver.c
+++ b/src/bhyve/bhyve_driver.c
@@ -733,14 +733,14 @@ bhyveConnectDomainXMLToNative(virConnectPtr conn,
NULL)))
goto cleanup;
- virBufferAdd(&buf, virCommandToString(loadcmd), -1);
+ virBufferAdd(&buf, virCommandToString(loadcmd, false), -1);
virBufferAddChar(&buf, '\n');
}
if (!(cmd = virBhyveProcessBuildBhyveCmd(conn, def, true)))
goto cleanup;
- virBufferAdd(&buf, virCommandToString(cmd), -1);
+ virBufferAdd(&buf, virCommandToString(cmd, false), -1);
if (virBufferCheckError(&buf) < 0)
goto cleanup;
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index f9a22f8a4b..67b6f9097b 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -7425,7 +7425,7 @@ static char *qemuConnectDomainXMLToNative(virConnectPtr conn,
VIR_QEMU_PROCESS_START_COLD)))
goto cleanup;
- ret = virCommandToString(cmd);
+ ret = virCommandToString(cmd, false);
cleanup:
virCommandFree(cmd);
diff --git a/src/qemu/qemu_interface.c b/src/qemu/qemu_interface.c
index cea1fd3046..ac0a17acc3 100644
--- a/src/qemu/qemu_interface.c
+++ b/src/qemu/qemu_interface.c
@@ -368,7 +368,7 @@ qemuCreateInBridgePortWithHelper(virQEMUDriverConfigPtr cfg,
char ebuf[1024];
char *errstr = NULL;
- if (!(cmdstr = virCommandToString(cmd)))
+ if (!(cmdstr = virCommandToString(cmd, false)))
goto cleanup;
virCommandAbort(cmd);
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 6de510660a..8d8145d18f 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -4360,7 +4360,7 @@ qemuLogOperation(virDomainObjPtr vm,
goto cleanup;
if (cmd) {
- char *args = virCommandToString(cmd);
+ char *args = virCommandToString(cmd, true);
qemuDomainLogContextWrite(logCtxt, "%s\n", args);
VIR_FREE(args);
}
diff --git a/src/security/security_apparmor.c b/src/security/security_apparmor.c
index 0d28cae0b7..43310361ba 100644
--- a/src/security/security_apparmor.c
+++ b/src/security/security_apparmor.c
@@ -654,7 +654,7 @@ AppArmorSetSecurityChildProcessLabel(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
if ((profile_name = get_profile_name(def)) == NULL)
goto cleanup;
- cmd_str = virCommandToString(cmd);
+ cmd_str = virCommandToString(cmd, false);
VIR_DEBUG("Changing AppArmor profile to %s on %s", profile_name, cmd_str);
virCommandSetAppArmorProfile(cmd, profile_name);
rc = 0;
diff --git a/src/util/vircommand.c b/src/util/vircommand.c
index 6f106df33b..3559f4bafa 100644
--- a/src/util/vircommand.c
+++ b/src/util/vircommand.c
@@ -1950,6 +1950,7 @@ virCommandWriteArgLog(virCommandPtr cmd, int logfd)
/**
* virCommandToString:
* @cmd: the command to convert
+ * @linebreaks: true to break line after each env var or option
*
* Call after adding all arguments and environment settings, but
* before Run/RunAsync, to return a string representation of the
@@ -1959,10 +1960,11 @@ virCommandWriteArgLog(virCommandPtr cmd, int logfd)
* Caller is responsible for freeing the resulting string.
*/
char *
-virCommandToString(virCommandPtr cmd)
+virCommandToString(virCommandPtr cmd, bool linebreaks)
{
size_t i;
virBuffer buf = VIR_BUFFER_INITIALIZER;
+ bool prevopt = false;
/* Cannot assume virCommandRun will be called; so report the error
* now. If virCommandRun is called, it will report the same error. */
@@ -1991,11 +1993,22 @@ virCommandToString(virCommandPtr cmd)
virBufferAdd(&buf, cmd->env[i], eq - cmd->env[i]);
virBufferEscapeShell(&buf, eq);
virBufferAddChar(&buf, ' ');
+ if (linebreaks)
+ virBufferAddLit(&buf, "\\\n");
}
virBufferEscapeShell(&buf, cmd->args[0]);
for (i = 1; i < cmd->nargs; i++) {
virBufferAddChar(&buf, ' ');
+ if (linebreaks) {
+ /* Line break if this is a --arg or if
+ * the previous arg was a positional option
+ */
+ if (cmd->args[i][0] == '-' ||
+ !prevopt)
+ virBufferAddLit(&buf, "\\\n");
+ }
virBufferEscapeShell(&buf, cmd->args[i]);
+ prevopt = (cmd->args[i][0] == '-');
}
if (virBufferCheckError(&buf) < 0)
@@ -2438,7 +2451,7 @@ virCommandRunAsync(virCommandPtr cmd, pid_t *pid)
goto cleanup;
}
- str = virCommandToString(cmd);
+ str = virCommandToString(cmd, false);
if (dryRunBuffer || dryRunCallback) {
dryRunStatus = 0;
if (!str) {
@@ -2579,7 +2592,7 @@ virCommandWait(virCommandPtr cmd, int *exitstatus)
if (exitstatus && (cmd->rawStatus || WIFEXITED(status))) {
*exitstatus = cmd->rawStatus ? status : WEXITSTATUS(status);
} else if (status) {
- VIR_AUTOFREE(char *) str = virCommandToString(cmd);
+ VIR_AUTOFREE(char *) str = virCommandToString(cmd, false);
VIR_AUTOFREE(char *) st = virProcessTranslateStatus(status);
bool haveErrMsg = cmd->errbuf && *cmd->errbuf && (*cmd->errbuf)[0];
diff --git a/src/util/vircommand.h b/src/util/vircommand.h
index f299acc775..dbf5041890 100644
--- a/src/util/vircommand.h
+++ b/src/util/vircommand.h
@@ -172,7 +172,7 @@ void virCommandSetPreExecHook(virCommandPtr cmd,
void virCommandWriteArgLog(virCommandPtr cmd,
int logfd);
-char *virCommandToString(virCommandPtr cmd) ATTRIBUTE_RETURN_CHECK;
+char *virCommandToString(virCommandPtr cmd, bool linebreaks) ATTRIBUTE_RETURN_CHECK;
int virCommandExec(virCommandPtr cmd, gid_t *groups, int ngroups) ATTRIBUTE_RETURN_CHECK;
diff --git a/src/util/virfirewall.c b/src/util/virfirewall.c
index c25d2ddfad..5a0cf95a44 100644
--- a/src/util/virfirewall.c
+++ b/src/util/virfirewall.c
@@ -694,7 +694,7 @@ virFirewallApplyRuleDirect(virFirewallRulePtr rule,
if (ignoreErrors) {
VIR_DEBUG("Ignoring error running command");
} else {
- VIR_AUTOFREE(char *) args = virCommandToString(cmd);
+ VIR_AUTOFREE(char *) args = virCommandToString(cmd, false);
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Failed to apply firewall rules %s: %s"),
NULLSTR(args), NULLSTR(error));
diff --git a/tests/bhyvexml2argvtest.c b/tests/bhyvexml2argvtest.c
index 6d5f19e2c6..d1b486fa64 100644
--- a/tests/bhyvexml2argvtest.c
+++ b/tests/bhyvexml2argvtest.c
@@ -68,13 +68,13 @@ static int testCompareXMLToArgvFiles(const char *xml,
goto out;
}
- if (!(actualargv = virCommandToString(cmd)))
+ if (!(actualargv = virCommandToString(cmd, false)))
goto out;
if (actualdm != NULL)
virTrimSpaces(actualdm, NULL);
- if (!(actualld = virCommandToString(ldcmd)))
+ if (!(actualld = virCommandToString(ldcmd, false)))
goto out;
if (virTestCompareToFile(actualargv, cmdline) < 0)
diff --git a/tests/commanddata/test26.log b/tests/commanddata/test26.log
new file mode 100644
index 0000000000..db0d424875
--- /dev/null
+++ b/tests/commanddata/test26.log
@@ -0,0 +1 @@
+A=B C=D E true --foo bar --oooh -f --wizz eek eek -w -z -l --mmm flash bang wallop
diff --git a/tests/commandtest.c b/tests/commandtest.c
index 4d9a468db2..816a70860f 100644
--- a/tests/commandtest.c
+++ b/tests/commandtest.c
@@ -630,7 +630,7 @@ static int test16(const void *unused ATTRIBUTE_UNUSED)
virCommandAddArg(cmd, "F");
virCommandAddArg(cmd, "G H");
- if ((outactual = virCommandToString(cmd)) == NULL) {
+ if ((outactual = virCommandToString(cmd, false)) == NULL) {
printf("Cannot convert to string: %s\n", virGetLastErrorMessage());
goto cleanup;
}
@@ -1135,6 +1135,67 @@ static int test25(const void *unused ATTRIBUTE_UNUSED)
}
+/*
+ * Don't run program; rather, log what would be run.
+ */
+static int test26(const void *unused ATTRIBUTE_UNUSED)
+{
+ virCommandPtr cmd = virCommandNew("true");
+ char *outactual = NULL;
+ const char *outexpect =
+ "A=B \\\n"
+ "C='D E' \\\n"
+ "true \\\n"
+ "--foo bar \\\n"
+ "--oooh \\\n"
+ "-f \\\n"
+ "--wizz 'eek eek' \\\n"
+ "-w \\\n"
+ "-z \\\n"
+ "-l \\\n"
+ "--mmm flash \\\n"
+ "bang \\\n"
+ "wallop";
+
+ int ret = -1;
+ int fd = -1;
+
+ virCommandAddEnvPair(cmd, "A", "B");
+ virCommandAddEnvPair(cmd, "C", "D E");
+ virCommandAddArgList(cmd, "--foo", "bar", "--oooh", "-f",
+ "--wizz", "eek eek", "-w", "-z", "-l",
+ "--mmm", "flash", "bang", "wallop",
+ NULL);
+
+ if ((outactual = virCommandToString(cmd, true)) == NULL) {
+ printf("Cannot convert to string: %s\n", virGetLastErrorMessage());
+ goto cleanup;
+ }
+ if ((fd = open(abs_builddir "/commandhelper.log",
+ O_CREAT | O_TRUNC | O_WRONLY, 0600)) < 0) {
+ printf("Cannot open log file: %s\n", strerror(errno));
+ goto cleanup;
+ }
+ virCommandWriteArgLog(cmd, fd);
+ if (VIR_CLOSE(fd) < 0) {
+ printf("Cannot close log file: %s\n", strerror(errno));
+ goto cleanup;
+ }
+
+ if (STRNEQ(outactual, outexpect)) {
+ virTestDifference(stderr, outexpect, outactual);
+ goto cleanup;
+ }
+
+ ret = checkoutput("test26", NULL);
+
+ cleanup:
+ virCommandFree(cmd);
+ VIR_FORCE_CLOSE(fd);
+ VIR_FREE(outactual);
+ return ret;
+}
+
static void virCommandThreadWorker(void *opaque)
{
virCommandTestDataPtr test = opaque;
@@ -1288,6 +1349,7 @@ mymain(void)
DO_TEST(test23);
DO_TEST(test24);
DO_TEST(test25);
+ DO_TEST(test26);
virMutexLock(&test->lock);
if (test->running) {
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 287e9d4ea3..5812e85436 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -620,7 +620,7 @@ testCompareXMLToArgv(const void *data)
goto cleanup;
}
- if (!(actualargv = virCommandToString(cmd)))
+ if (!(actualargv = virCommandToString(cmd, false)))
goto cleanup;
if (virTestCompareToFile(actualargv, args) < 0)
diff --git a/tests/storagepoolxml2argvtest.c b/tests/storagepoolxml2argvtest.c
index 196989cb6d..2f2d40e027 100644
--- a/tests/storagepoolxml2argvtest.c
+++ b/tests/storagepoolxml2argvtest.c
@@ -71,7 +71,7 @@ testCompareXMLToArgvFiles(bool shouldFail,
goto cleanup;
};
- if (!(actualCmdline = virCommandToString(cmd))) {
+ if (!(actualCmdline = virCommandToString(cmd, false))) {
VIR_TEST_DEBUG("pool type %d failed to get commandline\n", def->type);
goto cleanup;
}
diff --git a/tests/storagevolxml2argvtest.c b/tests/storagevolxml2argvtest.c
index 105705f348..bc2da37410 100644
--- a/tests/storagevolxml2argvtest.c
+++ b/tests/storagevolxml2argvtest.c
@@ -104,14 +104,14 @@ testCompareXMLToArgvFiles(bool shouldFail,
}
if (convertStep != VIR_STORAGE_VOL_ENCRYPT_CONVERT) {
- if (!(actualCmdline = virCommandToString(cmd)))
+ if (!(actualCmdline = virCommandToString(cmd, false)))
goto cleanup;
} else {
char *createCmdline = actualCmdline;
char *cvtCmdline;
int rc;
- if (!(cvtCmdline = virCommandToString(cmd)))
+ if (!(cvtCmdline = virCommandToString(cmd, false)))
goto cleanup;
rc = virAsprintf(&actualCmdline, "%s\n%s",
--
2.19.2
3
3
The driver is unmaintained, untested and severely broken for
quite some time now. Since nobody even reported any issue with it
let us drop it.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
configure.ac | 4 -
docs/aclpolkit.html.in | 4 -
docs/drivers.html.in | 1 -
docs/drvuml.html.in | 93 -
docs/formatcaps.html.in | 3 -
docs/formatdomain.html.in | 6 +-
docs/formatdomaincaps.html.in | 1 -
docs/formatnwfilter.html.in | 2 +-
docs/news.xml | 14 +
docs/schemas/capability.rng | 2 -
docs/schemas/domaincommon.rng | 3 -
include/libvirt/virterror.h | 2 +-
libvirt.spec.in | 65 +-
m4/virt-driver-uml.m4 | 54 -
mingw-libvirt.spec.in | 1 -
po/POTFILES | 2 -
src/Makefile.am | 1 -
src/README | 3 +-
src/conf/domain_conf.c | 11 +-
src/conf/domain_conf.h | 4 -
src/locking/lock_driver.h | 2 +-
src/qemu/qemu_alias.c | 1 -
src/qemu/qemu_command.c | 4 -
src/qemu/qemu_domain_address.c | 1 -
src/qemu/qemu_hotplug.c | 1 -
src/remote/Makefile.inc.am | 1 -
src/remote/libvirtd.uml.logrotate.in | 8 -
src/remote/remote_daemon.c | 4 -
src/uml/Makefile.inc.am | 48 -
src/uml/uml_conf.c | 481 -----
src/uml/uml_conf.h | 82 -
src/uml/uml_driver.c | 2835 --------------------------
src/uml/uml_driver.h | 29 -
src/vbox/vbox_common.c | 1 -
tests/domaincapsschemadata/basic.xml | 25 -
tests/domaincapsschemadata/full.xml | 1 -
tests/domaincapstest.c | 2 -
tests/objectlocking.ml | 3 -
tests/virdrivermoduletest.c | 3 -
tools/virsh.c | 3 -
40 files changed, 24 insertions(+), 3787 deletions(-)
delete mode 100644 docs/drvuml.html.in
delete mode 100644 m4/virt-driver-uml.m4
delete mode 100644 src/remote/libvirtd.uml.logrotate.in
delete mode 100644 src/uml/Makefile.inc.am
delete mode 100644 src/uml/uml_conf.c
delete mode 100644 src/uml/uml_conf.h
delete mode 100644 src/uml/uml_driver.c
delete mode 100644 src/uml/uml_driver.h
delete mode 100644 tests/domaincapsschemadata/basic.xml
diff --git a/configure.ac b/configure.ac
index 8c89ff365b..ac52189dff 100644
--- a/configure.ac
+++ b/configure.ac
@@ -225,7 +225,6 @@ if test "$with_libvirtd" = "no" ; then
with_qemu=no
with_lxc=no
with_libxl=no
- with_uml=no
with_vbox=no
fi
@@ -445,7 +444,6 @@ LIBVIRT_DRIVER_ARG_VBOX
LIBVIRT_DRIVER_ARG_LXC
LIBVIRT_DRIVER_ARG_VZ
LIBVIRT_DRIVER_ARG_BHYVE
-LIBVIRT_DRIVER_ARG_UML
LIBVIRT_DRIVER_ARG_ESX
LIBVIRT_DRIVER_ARG_HYPERV
LIBVIRT_DRIVER_ARG_TEST
@@ -464,7 +462,6 @@ LIBVIRT_DRIVER_CHECK_VBOX
LIBVIRT_DRIVER_CHECK_LXC
LIBVIRT_DRIVER_CHECK_VZ
LIBVIRT_DRIVER_CHECK_BHYVE
-LIBVIRT_DRIVER_CHECK_UML
LIBVIRT_DRIVER_CHECK_ESX
LIBVIRT_DRIVER_CHECK_HYPERV
LIBVIRT_DRIVER_CHECK_TEST
@@ -947,7 +944,6 @@ AC_MSG_NOTICE([])
AC_MSG_NOTICE([Drivers])
AC_MSG_NOTICE([])
LIBVIRT_DRIVER_RESULT_QEMU
-LIBVIRT_DRIVER_RESULT_UML
LIBVIRT_DRIVER_RESULT_OPENVZ
LIBVIRT_DRIVER_RESULT_VMWARE
LIBVIRT_DRIVER_RESULT_VBOX
diff --git a/docs/aclpolkit.html.in b/docs/aclpolkit.html.in
index ac54f125da..2cf1f9b5a5 100644
--- a/docs/aclpolkit.html.in
+++ b/docs/aclpolkit.html.in
@@ -381,10 +381,6 @@
<td>storage</td>
<td>storage</td>
</tr>
- <tr>
- <td>uml</td>
- <td>UML</td>
- </tr>
<tr>
<td>vbox</td>
<td>VBOX</td>
diff --git a/docs/drivers.html.in b/docs/drivers.html.in
index c94144aa41..a66651df2f 100644
--- a/docs/drivers.html.in
+++ b/docs/drivers.html.in
@@ -29,7 +29,6 @@
<li><strong><a href="drvopenvz.html">OpenVZ</a></strong></li>
<li><strong><a href="drvqemu.html">QEMU</a></strong></li>
<li><strong><a href="drvtest.html">Test</a></strong> - Used for testing</li>
- <li><strong><a href="drvuml.html">UML</a></strong> - User Mode Linux</li>
<li><strong><a href="drvvbox.html">VirtualBox</a></strong></li>
<li><strong><a href="drvesx.html">VMware ESX</a></strong></li>
<li><strong><a href="drvvmware.html">VMware Workstation/Player</a></strong></li>
diff --git a/docs/drvuml.html.in b/docs/drvuml.html.in
deleted file mode 100644
index 0860db7dcf..0000000000
--- a/docs/drvuml.html.in
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
- <body>
- <h1>User Mode Linux driver</h1>
-
- <p>
- The UML driver for libvirt allows use and management of paravirtualized
- guests built for User Mode Linux. UML requires no special support in
- the host kernel, so can be used by any user of any linux system, provided
- they have enough free RAM for their guest's needs, though there are
- certain restrictions on network connectivity unless the administrator
- has pre-created TAP devices.
- </p>
-
- <h2><a id="project">Project Links</a></h2>
-
- <ul>
- <li>
- The <a href="http://user-mode-linux.sourceforge.net/">User
- Mode Linux</a> paravirtualized kernel
- </li>
- </ul>
-
- <h2>Connections to UML driver</h2>
-
- <p>
- The libvirt UML driver follows the QEMU driver in providing two
- types of connection. There is one privileged instance per host,
- which runs as root. This is called the "system" instance, and allows
- full use of all host resources. Then, there is a per-user unprivileged
- "session", instance. This has more restricted capabilities, and may
- require the host administrator to setup certain resources ahead of
- time to allow full integration with the network. Example connection
- URIs are
- </p>
-
-<pre>
-uml:///session (local access to per-user instance)
-uml+unix:///session (local access to per-user instance)
-
-uml:///system (local access to system instance)
-uml+unix:///system (local access to system instance)
-uml://example.com/system (remote access, TLS/x509)
-uml+tcp://example.com/system (remote access, SASl/Kerberos)
-uml+ssh://root@example.com/system (remote access, SSH tunnelled)
-</pre>
-
- <h2>Example XML configuration</h2>
-
- <p>
- User mode Linux driver only supports directly kernel boot at
- this time. A future driver enhancement may allow a paravirt
- bootloader in a similar style to Xen's pygrub. For now though,
- the UML kernel must be stored on the host and referenced
- explicitly in the "os" element. Since UML is a paravirtualized
- technology, the kernel "type" is set to "uml"
- </p>
-
- <p>
- There is not yet support for networking in the driver, but
- disks can be specified in the usual libvirt manner. The main
- variation is the target device naming scheme "ubd0", and
- bus type of "uml".
- </p>
-
- <p>
- Once booted the primary console is connected to a PTY, and
- thus accessible with "virsh console" or equivalent tools
- </p>
-
-<pre>
-<domain type='uml'>
- <name>demo</name>
- <uuid>b4433fc2-a22e-ffb3-0a3d-9c173b395800</uuid>
- <memory>500000</memory>
- <currentMemory>500000</currentMemory>
- <vcpu>1</vcpu>
- <os>
- <type arch='x86_64'>uml</type>
- <kernel>/home/berrange/linux-uml-2.6.26-x86_64</kernel>
- </os>
- <devices>
- <disk type='file' device='disk'>
- <source file='/home/berrange/FedoraCore6-AMD64-root_fs'/>
- <target dev='ubd0' bus='uml'/>
- </disk>
- <console type='pty'/>
- </devices>
-</domain>
-</pre>
- </body>
-</html>
diff --git a/docs/formatcaps.html.in b/docs/formatcaps.html.in
index 86534b2ed2..2a0aa963bb 100644
--- a/docs/formatcaps.html.in
+++ b/docs/formatcaps.html.in
@@ -87,9 +87,6 @@
<dt><code>exe</code></dt>
<dd>Container based virtualization</dd>
-
- <dt><code>uml</code></dt>
- <dd>User Mode Linux</dd>
</dl>
</dd>
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 428b0e8bb5..2463261372 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -7161,9 +7161,9 @@ qemu-kvm -net nic,model=? /dev/null
Valid values for the <code>type</code> attribute are:
<code>serial</code> (described below);
<code>virtio</code> (usable whenever VirtIO support is available);
- <code>xen</code>, <code>lxc</code>, <code>uml</code> and
- <code>openvz</code> (available when the corresponding hypervisor is in
- use). <code>sclp</code> and <code>sclplm</code> (usable for s390 and
+ <code>xen</code>, <code>lxc</code> and <code>openvz</code>
+ (available when the corresponding hypervisor is in use).
+ <code>sclp</code> and <code>sclplm</code> (usable for s390 and
s390x QEMU guests) are supported for compatibility reasons but should
not be used for new guests: use the <code>sclpconsole</code> and
<code>sclplmconsole</code> target models, respectively, with the
diff --git a/docs/formatdomaincaps.html.in b/docs/formatdomaincaps.html.in
index 9920de4dac..cafd9abbdf 100644
--- a/docs/formatdomaincaps.html.in
+++ b/docs/formatdomaincaps.html.in
@@ -278,7 +278,6 @@
<value>virtio</value>
<value>xen</value>
<value>usb</value>
- <value>uml</value>
<value>sata</value>
<value>sd</value>
</enum>
diff --git a/docs/formatnwfilter.html.in b/docs/formatnwfilter.html.in
index b2282b7dee..796c16549d 100644
--- a/docs/formatnwfilter.html.in
+++ b/docs/formatnwfilter.html.in
@@ -2265,7 +2265,7 @@ echo 3 > /proc/sys/net/netfilter/nf_conntrack_icmp_timeout
to the incoming and outgoing direction. All this is related to the ftp
data traffic originating from TCP port 20 of the VM. This then leads to
the following solution
- <span class="since">(since 0.8.5 (QEMU, KVM, UML))</span>:
+ <span class="since">(since 0.8.5 (QEMU, KVM))</span>:
</p>
<pre>
<filter name='test-eth0'>
diff --git a/docs/news.xml b/docs/news.xml
index 5bdbd34a14..e9b6bb7c65 100644
--- a/docs/news.xml
+++ b/docs/news.xml
@@ -59,6 +59,20 @@
</description>
</change>
</section>
+ <section title="Removed features">
+ <change>
+ <summary>
+ Drop UML driver
+ </summary>
+ <description>
+ The UML driver was unmaintained and not tested for
+ quite some time now. Worse, there is a bug that causes
+ it to deadlock on some very basic operations (e.g.
+ dumping domain XML). These facts make us believe no one
+ uses it.
+ </description>
+ </change>
+ </section>
<section title="Improvements">
<change>
<summary>
diff --git a/docs/schemas/capability.rng b/docs/schemas/capability.rng
index fe90a2e4c6..74590f7a69 100644
--- a/docs/schemas/capability.rng
+++ b/docs/schemas/capability.rng
@@ -412,7 +412,6 @@
but is also used by phyp driver -->
<value>hvm</value> <!-- unmodified OS -->
<value>exe</value> <!-- For container based virt -->
- <value>uml</value> <!-- user mode linux -->
</choice>
</element>
</define>
@@ -484,7 +483,6 @@
<value>kqemu</value>
<value>kvm</value>
<value>xen</value>
- <value>uml</value>
<value>lxc</value>
<value>openvz</value>
<value>test</value>
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 5a6c48f1aa..9b1a384032 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -204,7 +204,6 @@
<value>kvm</value>
<value>xen</value>
<value>lxc</value>
- <value>uml</value>
<value>openvz</value>
<value>test</value>
<value>vmware</value>
@@ -1907,7 +1906,6 @@
<value>virtio</value>
<value>xen</value>
<value>usb</value>
- <value>uml</value>
<value>sata</value>
<value>sd</value>
</choice>
@@ -3725,7 +3723,6 @@
<choice>
<value>xen</value>
<value>serial</value>
- <value>uml</value>
<value>virtio</value>
<value>lxc</value>
<value>openvz</value>
diff --git a/include/libvirt/virterror.h b/include/libvirt/virterror.h
index f41afcd0a7..fbbe2d5624 100644
--- a/include/libvirt/virterror.h
+++ b/include/libvirt/virterror.h
@@ -74,7 +74,7 @@ typedef enum {
VIR_FROM_NETWORK = 19, /* Error from network config */
VIR_FROM_DOMAIN = 20, /* Error from domain config */
- VIR_FROM_UML = 21, /* Error at the UML driver */
+ VIR_FROM_UML = 21, /* Error at the UML driver; unused since 5.0.0 */
VIR_FROM_NODEDEV = 22, /* Error from node device monitor */
VIR_FROM_XEN_INOTIFY = 23, /* Error from xen inotify layer */
VIR_FROM_SECURITY = 24, /* Error from security framework */
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 71cd45c603..09472dcadc 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -20,7 +20,6 @@
# The hypervisor drivers that run in libvirtd
%define with_qemu 0%{!?_without_qemu:1}
%define with_lxc 0%{!?_without_lxc:1}
-%define with_uml 0%{!?_without_uml:1}
%define with_libxl 0%{!?_without_libxl:1}
%define with_vbox 0%{!?_without_vbox:1}
@@ -111,13 +110,12 @@
%endif
-# RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor,
+# RHEL doesn't ship OpenVZ, VBox, PowerHypervisor,
# VMware, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
# or HyperV.
%if 0%{?rhel}
%define with_openvz 0
%define with_vbox 0
- %define with_uml 0
%define with_phyp 0
%define with_vmware 0
%define with_xenapi 0
@@ -178,7 +176,7 @@
%endif
-%if %{with_qemu} || %{with_lxc} || %{with_uml}
+%if %{with_qemu} || %{with_lxc}
# numad is used to manage the CPU and memory placement dynamically,
# it's not available on many non-x86 architectures.
%ifnarch s390 s390x %{arm} riscv64
@@ -231,9 +229,6 @@ Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
%if %{with_qemu}
Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
%endif
-%if %{with_uml}
-Requires: libvirt-daemon-driver-uml = %{version}-%{release}
-%endif
%if %{with_vbox}
Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
%endif
@@ -743,19 +738,6 @@ the Linux kernel
%endif
-%if %{with_uml}
-%package daemon-driver-uml
-Summary: Uml driver plugin for the libvirtd daemon
-Requires: libvirt-daemon = %{version}-%{release}
-Requires: libvirt-libs = %{version}-%{release}
-
-%description daemon-driver-uml
-The UML driver plugin for the libvirtd daemon, providing
-an implementation of the hypervisor driver APIs using
-User Mode Linux
-%endif
-
-
%if %{with_vbox}
%package daemon-driver-vbox
Summary: VirtualBox driver plugin for the libvirtd daemon
@@ -843,26 +825,6 @@ capabilities of LXC
%endif
-%if %{with_uml}
-%package daemon-uml
-Summary: Server side daemon & driver required to run UML guests
-
-Requires: libvirt-daemon = %{version}-%{release}
-Requires: libvirt-daemon-driver-uml = %{version}-%{release}
-Requires: libvirt-daemon-driver-interface = %{version}-%{release}
-Requires: libvirt-daemon-driver-network = %{version}-%{release}
-Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
-Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
-Requires: libvirt-daemon-driver-secret = %{version}-%{release}
-Requires: libvirt-daemon-driver-storage = %{version}-%{release}
-# There are no UML kernel RPMs in Fedora/RHEL to depend on.
-
-%description daemon-uml
-Server side daemon and driver required to manage the virtualization
-capabilities of UML
-%endif
-
-
%if %{with_libxl}
%package daemon-xen
Summary: Server side daemon & driver required to run XEN guests
@@ -1068,12 +1030,6 @@ exit 1
%define arg_vmware --without-vmware
%endif
-%if %{with_uml}
- %define arg_uml --with-uml
-%else
- %define arg_uml --without-uml
-%endif
-
%if %{with_storage_rbd}
%define arg_storage_rbd --with-storage-rbd
%else
@@ -1187,7 +1143,6 @@ rm -f po/stamp-po
--with-avahi \
--with-polkit \
--with-libvirtd \
- %{?arg_uml} \
%{?arg_phyp} \
%{?arg_esx} \
%{?arg_hyperv} \
@@ -1316,9 +1271,6 @@ rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.libxl
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_libxl.aug
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
%endif
-%if ! %{with_uml}
-rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml
-%endif
# Copied into libvirt-docs subpackage eventually
mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} libvirt-docs
@@ -1725,15 +1677,6 @@ exit 0
%{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so
%endif
-%if %{with_uml}
-%files daemon-driver-uml
-%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
-%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
-%ghost %dir %{_localstatedir}/run/libvirt/uml/
-%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
-%{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so
-%endif
-
%if %{with_libxl}
%files daemon-driver-libxl
%config(noreplace) %{_sysconfdir}/libvirt/libxl.conf
@@ -1764,10 +1707,6 @@ exit 0
%files daemon-lxc
%endif
-%if %{with_uml}
-%files daemon-uml
-%endif
-
%if %{with_libxl}
%files daemon-xen
%endif
diff --git a/m4/virt-driver-uml.m4 b/m4/virt-driver-uml.m4
deleted file mode 100644
index 9b406a5b6b..0000000000
--- a/m4/virt-driver-uml.m4
+++ /dev/null
@@ -1,54 +0,0 @@
-dnl The UML driver
-dnl
-dnl Copyright (C) 2005-2015 Red Hat, Inc.
-dnl
-dnl This library is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU Lesser General Public
-dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License, or (at your option) any later version.
-dnl
-dnl This library is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-dnl Lesser General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU Lesser General Public
-dnl License along with this library. If not, see
-dnl <http://www.gnu.org/licenses/>.
-dnl
-
-AC_DEFUN([LIBVIRT_DRIVER_ARG_UML],[
- LIBVIRT_ARG_WITH_FEATURE([UML], [UML], [check])
-])
-
-AC_DEFUN([LIBVIRT_DRIVER_CHECK_UML],[
- if test "$with_libvirtd" = "no" || test "$with_linux" = "no"; then
- if test "$with_uml" = "yes"; then
- AC_MSG_ERROR([The UML driver cannot be enabled])
- elif test "$with_uml" = "check"; then
- with_uml="no"
- fi
- fi
-
- if test "$with_uml" = "yes" || test "$with_uml" = "check"; then
- AC_CHECK_HEADER([sys/inotify.h], [
- with_uml=yes
- ], [
- if test "$with_uml" = "check"; then
- with_uml=no
- AC_MSG_NOTICE([<sys/inotify.h> is required for the UML driver, disabling it])
- else
- AC_MSG_ERROR([The <sys/inotify.h> is required for the UML driver. Upgrade your libc6.])
- fi
- ])
- fi
-
- if test "$with_uml" = "yes" ; then
- AC_DEFINE_UNQUOTED([WITH_UML], 1, [whether UML driver is enabled])
- fi
- AM_CONDITIONAL([WITH_UML], [test "$with_uml" = "yes"])
-])
-
-AC_DEFUN([LIBVIRT_DRIVER_RESULT_UML],[
- LIBVIRT_RESULT([UML], [$with_uml])
-])
diff --git a/mingw-libvirt.spec.in b/mingw-libvirt.spec.in
index b28e40f7f7..7c7ab4146d 100644
--- a/mingw-libvirt.spec.in
+++ b/mingw-libvirt.spec.in
@@ -177,7 +177,6 @@ autoreconf -if
--without-avahi \
--without-polkit \
--without-libvirtd \
- --without-uml \
%{?_without_phyp} \
%{?_without_esx} \
%{?_without_hyperv} \
diff --git a/po/POTFILES b/po/POTFILES
index be2874487c..9dd4ee7d99 100644
--- a/po/POTFILES
+++ b/po/POTFILES
@@ -190,8 +190,6 @@ src/storage/storage_backend_zfs.c
src/storage/storage_driver.c
src/storage/storage_util.c
src/test/test_driver.c
-src/uml/uml_conf.c
-src/uml/uml_driver.c
src/util/iohelper.c
src/util/viralloc.c
src/util/virarptable.c
diff --git a/src/Makefile.am b/src/Makefile.am
index 33ff280d78..e2b89e27e8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -107,7 +107,6 @@ include logging/Makefile.inc.am
include locking/Makefile.inc.am
include admin/Makefile.inc.am
include rpc/Makefile.inc.am
-include uml/Makefile.inc.am
include phyp/Makefile.inc.am
include test/Makefile.inc.am
include esx/Makefile.inc.am
diff --git a/src/README b/src/README
index bb3cddfc6e..846bf2b664 100644
--- a/src/README
+++ b/src/README
@@ -34,7 +34,6 @@ Then there are the hypervisor implementations:
* qemu/ - QEMU / KVM using qemu CLI/monitor
* remote/ - Generic libvirt native RPC client
* test/ - A "mock" driver for testing
- * uml/ - User Mode Linux
* vbox/ - Virtual Box using native API
* vmware/ - VMware Workstation and Player using the vmrun tool
* xen/ - Xen using hypercalls, XenD SEXPR & XenStore
@@ -42,7 +41,7 @@ Then there are the hypervisor implementations:
Finally some secondary drivers that are shared for several HVs.
-Currently these are used by LXC, OpenVZ, QEMU, UML and Xen drivers.
+Currently these are used by LXC, OpenVZ, QEMU and Xen drivers.
The ESX, Hyper-V, Power Hypervisor, Remote, Test & VirtualBox drivers all
implement the secondary drivers directly
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index d8dfd1656f..7a2d20730e 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -108,7 +108,6 @@ VIR_ENUM_IMPL(virDomainVirt, VIR_DOMAIN_VIRT_LAST,
"kvm",
"xen",
"lxc",
- "uml",
"openvz",
"test",
"vmware",
@@ -124,7 +123,6 @@ VIR_ENUM_IMPL(virDomainOS, VIR_DOMAIN_OSTYPE_LAST,
"xen",
"linux",
"exe",
- "uml",
"xenpvh")
VIR_ENUM_IMPL(virDomainBoot, VIR_DOMAIN_BOOT_LAST,
@@ -285,7 +283,6 @@ VIR_ENUM_IMPL(virDomainDiskBus, VIR_DOMAIN_DISK_BUS_LAST,
"virtio",
"xen",
"usb",
- "uml",
"sata",
"sd")
@@ -465,7 +462,6 @@ VIR_ENUM_IMPL(virDomainChrConsoleTarget,
"none",
"serial",
"xen",
- "uml",
"virtio",
"lxc",
"openvz",
@@ -5373,7 +5369,6 @@ virDomainDiskAddressDiskBusCompatibility(virDomainDiskBus bus,
case VIR_DOMAIN_DISK_BUS_VIRTIO:
case VIR_DOMAIN_DISK_BUS_XEN:
case VIR_DOMAIN_DISK_BUS_USB:
- case VIR_DOMAIN_DISK_BUS_UML:
case VIR_DOMAIN_DISK_BUS_SD:
case VIR_DOMAIN_DISK_BUS_LAST:
return true;
@@ -9798,8 +9793,6 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
def->bus = VIR_DOMAIN_DISK_BUS_VIRTIO;
else if (STRPREFIX(target, "xvd"))
def->bus = VIR_DOMAIN_DISK_BUS_XEN;
- else if (STRPREFIX(target, "ubd"))
- def->bus = VIR_DOMAIN_DISK_BUS_UML;
else
def->bus = VIR_DOMAIN_DISK_BUS_IDE;
}
@@ -15067,7 +15060,6 @@ virDomainVideoDefaultType(const virDomainDef *def)
case VIR_DOMAIN_VIRT_KQEMU:
case VIR_DOMAIN_VIRT_KVM:
case VIR_DOMAIN_VIRT_LXC:
- case VIR_DOMAIN_VIRT_UML:
case VIR_DOMAIN_VIRT_OPENVZ:
case VIR_DOMAIN_VIRT_HYPERV:
case VIR_DOMAIN_VIRT_PHYP:
@@ -18819,8 +18811,7 @@ virDomainDefParseBootOptions(virDomainDefPtr def,
if (def->os.type == VIR_DOMAIN_OSTYPE_XEN ||
def->os.type == VIR_DOMAIN_OSTYPE_XENPVH ||
- def->os.type == VIR_DOMAIN_OSTYPE_HVM ||
- def->os.type == VIR_DOMAIN_OSTYPE_UML) {
+ def->os.type == VIR_DOMAIN_OSTYPE_HVM) {
xmlNodePtr loader_node;
def->os.kernel = virXPathString("string(./os/kernel[1])", ctxt);
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 5814997bdb..e15308dd28 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -233,7 +233,6 @@ typedef enum {
VIR_DOMAIN_VIRT_KVM,
VIR_DOMAIN_VIRT_XEN,
VIR_DOMAIN_VIRT_LXC,
- VIR_DOMAIN_VIRT_UML,
VIR_DOMAIN_VIRT_OPENVZ,
VIR_DOMAIN_VIRT_TEST,
VIR_DOMAIN_VIRT_VMWARE,
@@ -252,7 +251,6 @@ typedef enum {
VIR_DOMAIN_OSTYPE_XEN,
VIR_DOMAIN_OSTYPE_LINUX,
VIR_DOMAIN_OSTYPE_EXE,
- VIR_DOMAIN_OSTYPE_UML,
VIR_DOMAIN_OSTYPE_XENPVH,
VIR_DOMAIN_OSTYPE_LAST
@@ -479,7 +477,6 @@ typedef enum {
VIR_DOMAIN_DISK_BUS_VIRTIO,
VIR_DOMAIN_DISK_BUS_XEN,
VIR_DOMAIN_DISK_BUS_USB,
- VIR_DOMAIN_DISK_BUS_UML,
VIR_DOMAIN_DISK_BUS_SATA,
VIR_DOMAIN_DISK_BUS_SD,
@@ -1114,7 +1111,6 @@ typedef enum {
VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_NONE = 0,
VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SERIAL,
VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_XEN,
- VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_UML,
VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO,
VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_LXC,
VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_OPENVZ,
diff --git a/src/locking/lock_driver.h b/src/locking/lock_driver.h
index f2d5266517..50c73a70d4 100644
--- a/src/locking/lock_driver.h
+++ b/src/locking/lock_driver.h
@@ -124,7 +124,7 @@ struct _virLockManagerParam {
* too old to support key features.
*
* NB: A plugin may be loaded multiple times, for different
- * libvirt drivers (eg QEMU, LXC, UML)
+ * libvirt drivers (eg QEMU, LXC)
*
* Returns -1 if the requested version/flags were inadequate
*/
diff --git a/src/qemu/qemu_alias.c b/src/qemu/qemu_alias.c
index 585cc972ba..45fcbf5eda 100644
--- a/src/qemu/qemu_alias.c
+++ b/src/qemu/qemu_alias.c
@@ -245,7 +245,6 @@ qemuAssignDeviceDiskAlias(virDomainDefPtr def,
break;
case VIR_DOMAIN_DISK_BUS_XEN:
- case VIR_DOMAIN_DISK_BUS_UML:
case VIR_DOMAIN_DISK_BUS_SD:
case VIR_DOMAIN_DISK_BUS_LAST:
break;
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 66a4a35184..8696104949 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -78,7 +78,6 @@ VIR_ENUM_IMPL(virDomainDiskQEMUBus, VIR_DOMAIN_DISK_BUS_LAST,
"virtio",
"xen",
"usb",
- "uml",
"sata",
"sd")
@@ -1808,7 +1807,6 @@ qemuCheckIOThreads(const virDomainDef *def,
case VIR_DOMAIN_DISK_BUS_SCSI:
case VIR_DOMAIN_DISK_BUS_XEN:
case VIR_DOMAIN_DISK_BUS_USB:
- case VIR_DOMAIN_DISK_BUS_UML:
case VIR_DOMAIN_DISK_BUS_SATA:
case VIR_DOMAIN_DISK_BUS_SD:
case VIR_DOMAIN_DISK_BUS_LAST:
@@ -7254,7 +7252,6 @@ qemuBuildMachineCommandLine(virCommandPtr cmd,
case VIR_DOMAIN_VIRT_KQEMU:
case VIR_DOMAIN_VIRT_XEN:
case VIR_DOMAIN_VIRT_LXC:
- case VIR_DOMAIN_VIRT_UML:
case VIR_DOMAIN_VIRT_OPENVZ:
case VIR_DOMAIN_VIRT_TEST:
case VIR_DOMAIN_VIRT_VMWARE:
@@ -10780,7 +10777,6 @@ qemuBuildConsoleChrDeviceStr(char **deviceStr,
case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_NONE:
case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_XEN:
- case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_UML:
case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_LXC:
case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_OPENVZ:
case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_LAST:
diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c
index bd6c4031e0..684811db3a 100644
--- a/src/qemu/qemu_domain_address.c
+++ b/src/qemu/qemu_domain_address.c
@@ -730,7 +730,6 @@ qemuDomainDeviceCalculatePCIConnectFlags(virDomainDeviceDefPtr dev,
case VIR_DOMAIN_DISK_BUS_SCSI:
case VIR_DOMAIN_DISK_BUS_XEN:
case VIR_DOMAIN_DISK_BUS_USB:
- case VIR_DOMAIN_DISK_BUS_UML:
case VIR_DOMAIN_DISK_BUS_SATA:
case VIR_DOMAIN_DISK_BUS_SD:
case VIR_DOMAIN_DISK_BUS_LAST:
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 8da023315b..e87a89a555 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -1226,7 +1226,6 @@ qemuDomainAttachDeviceDiskLiveInternal(virQEMUDriverPtr driver,
case VIR_DOMAIN_DISK_BUS_IDE:
case VIR_DOMAIN_DISK_BUS_FDC:
case VIR_DOMAIN_DISK_BUS_XEN:
- case VIR_DOMAIN_DISK_BUS_UML:
case VIR_DOMAIN_DISK_BUS_SATA:
case VIR_DOMAIN_DISK_BUS_SD:
/* Note that SD card hotplug support should be added only once
diff --git a/src/remote/Makefile.inc.am b/src/remote/Makefile.inc.am
index eb8d6feb31..d188c4e348 100644
--- a/src/remote/Makefile.inc.am
+++ b/src/remote/Makefile.inc.am
@@ -39,7 +39,6 @@ LOGROTATE_FILES_IN += \
remote/libvirtd.qemu.logrotate.in \
remote/libvirtd.lxc.logrotate.in \
remote/libvirtd.libxl.logrotate.in \
- remote/libvirtd.uml.logrotate.in \
remote/libvirtd.logrotate.in \
$(NULL)
diff --git a/src/remote/libvirtd.uml.logrotate.in b/src/remote/libvirtd.uml.logrotate.in
deleted file mode 100644
index 66a848e37e..0000000000
--- a/src/remote/libvirtd.uml.logrotate.in
+++ /dev/null
@@ -1,8 +0,0 @@
-@localstatedir@/log/libvirt/uml/*.log {
- weekly
- missingok
- rotate 4
- compress
- delaycompress
- copytruncate
-}
diff --git a/src/remote/remote_daemon.c b/src/remote/remote_daemon.c
index f0dd7597e6..3be3ad02fc 100644
--- a/src/remote/remote_daemon.c
+++ b/src/remote/remote_daemon.c
@@ -339,10 +339,6 @@ static int daemonInitialize(void)
if (virDriverLoadModule("lxc", "lxcRegister", false) < 0)
return -1;
#endif
-#ifdef WITH_UML
- if (virDriverLoadModule("uml", "umlRegister", false) < 0)
- return -1;
-#endif
#ifdef WITH_VBOX
if (virDriverLoadModule("vbox", "vboxRegister", false) < 0)
return -1;
diff --git a/src/uml/Makefile.inc.am b/src/uml/Makefile.inc.am
deleted file mode 100644
index 975398b928..0000000000
--- a/src/uml/Makefile.inc.am
+++ /dev/null
@@ -1,48 +0,0 @@
-UML_DRIVER_SOURCES = \
- uml/uml_conf.c \
- uml/uml_conf.h \
- uml/uml_driver.c \
- uml/uml_driver.h \
- $(NULL)
-
-DRIVER_SOURCE_FILES += $(UML_DRIVER_SOURCES)
-STATEFUL_DRIVER_SOURCE_FILES += $(UML_DRIVER_SOURCES)
-EXTRA_DIST += $(UML_DRIVER_SOURCES)
-
-if WITH_UML
-noinst_LTLIBRARIES += libvirt_driver_uml_impl.la
-libvirt_driver_uml_la_SOURCES =
-libvirt_driver_uml_la_LIBADD = \
- libvirt_driver_uml_impl.la \
- libvirt.la \
- ../gnulib/lib/libgnu.la \
- $(NULL)
-mod_LTLIBRARIES += libvirt_driver_uml.la
-libvirt_driver_uml_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
-
-libvirt_driver_uml_impl_la_CFLAGS = \
- -I$(srcdir)/access \
- -I$(srcdir)/conf \
- $(AM_CFLAGS) \
- $(NULL)
-libvirt_driver_uml_impl_la_LDFLAGS = $(AM_LDFLAGS)
-libvirt_driver_uml_impl_la_SOURCES = $(UML_DRIVER_SOURCES)
-
-INSTALL_DATA_DIRS += uml
-
-install-data-uml:
- $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/uml"
- $(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/uml"
- $(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/uml"
-
-uninstall-data-uml:
- rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/uml" ||:
- rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/uml" ||:
- rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/uml" ||:
-
-endif WITH_UML
-
-.PHONY: \
- install-data-uml \
- uninstall-data-uml \
- $(NULL)
diff --git a/src/uml/uml_conf.c b/src/uml/uml_conf.c
deleted file mode 100644
index 067600afba..0000000000
--- a/src/uml/uml_conf.c
+++ /dev/null
@@ -1,481 +0,0 @@
-/*
- * uml_conf.c: UML driver configuration
- *
- * Copyright (C) 2006-2014, 2016 Red Hat, Inc.
- * Copyright (C) 2006 Daniel P. Berrange
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-
-#include <config.h>
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/wait.h>
-#include <arpa/inet.h>
-
-#include "uml_conf.h"
-#include "viruuid.h"
-#include "virbuffer.h"
-#include "virconf.h"
-#include "viralloc.h"
-#include "virlog.h"
-#include "domain_nwfilter.h"
-#include "virfile.h"
-#include "vircommand.h"
-#include "virnetdevtap.h"
-#include "virnodesuspend.h"
-#include "virstring.h"
-
-#define VIR_FROM_THIS VIR_FROM_UML
-
-VIR_LOG_INIT("uml.uml_conf");
-
-virCapsPtr umlCapsInit(void)
-{
- virCapsPtr caps;
- virCapsGuestPtr guest;
-
- if ((caps = virCapabilitiesNew(virArchFromHost(),
- false, false)) == NULL)
- goto error;
-
- /* Some machines have problematic NUMA topology causing
- * unexpected failures. We don't want to break the QEMU
- * driver in this scenario, so log errors & carry on
- */
- if (virCapabilitiesInitNUMA(caps) < 0) {
- virCapabilitiesFreeNUMAInfo(caps);
- VIR_WARN("Failed to query host NUMA topology, disabling NUMA capabilities");
- }
-
- if (virCapabilitiesInitCaches(caps) < 0)
- VIR_WARN("Failed to get host CPU cache info");
-
- if (virNodeSuspendGetTargetMask(&caps->host.powerMgmt) < 0)
- VIR_WARN("Failed to get host power management capabilities");
-
- if (virGetHostUUID(caps->host.host_uuid)) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("cannot get the host uuid"));
- goto error;
- }
-
- if ((guest = virCapabilitiesAddGuest(caps,
- VIR_DOMAIN_OSTYPE_UML,
- caps->host.arch,
- NULL,
- NULL,
- 0,
- NULL)) == NULL)
- goto error;
-
- if (virCapabilitiesAddGuestDomain(guest,
- VIR_DOMAIN_VIRT_UML,
- NULL,
- NULL,
- 0,
- NULL) == NULL)
- goto error;
-
- return caps;
-
- error:
- virObjectUnref(caps);
- return NULL;
-}
-
-
-static int
-umlConnectTapDevice(virDomainDefPtr vm,
- virDomainNetDefPtr net,
- const char *bridge)
-{
- bool template_ifname = false;
- int tapfd = -1;
-
- if (!net->ifname ||
- STRPREFIX(net->ifname, VIR_NET_GENERATED_TAP_PREFIX) ||
- strchr(net->ifname, '%')) {
- VIR_FREE(net->ifname);
- if (VIR_STRDUP(net->ifname, VIR_NET_GENERATED_TAP_PREFIX "%d") < 0)
- goto error;
- /* avoid exposing vnet%d in getXMLDesc or error outputs */
- template_ifname = true;
- }
-
- if (virNetDevTapCreateInBridgePort(bridge, &net->ifname, &net->mac,
- vm->uuid, net->backend.tap, &tapfd, 1,
- virDomainNetGetActualVirtPortProfile(net),
- virDomainNetGetActualVlan(net),
- NULL, 0, NULL,
- VIR_NETDEV_TAP_CREATE_IFUP |
- VIR_NETDEV_TAP_CREATE_PERSIST) < 0) {
- if (template_ifname)
- VIR_FREE(net->ifname);
- goto error;
- }
-
- if (net->filter) {
- if (virDomainConfNWFilterInstantiate(vm->name, vm->uuid, net, false) < 0) {
- if (template_ifname)
- VIR_FREE(net->ifname);
- goto error;
- }
- }
-
- VIR_FORCE_CLOSE(tapfd);
- return 0;
-
- error:
- VIR_FORCE_CLOSE(tapfd);
- return -1;
-}
-
-static char *
-umlBuildCommandLineNet(virConnectPtr conn,
- virDomainDefPtr vm,
- virDomainNetDefPtr def,
- int idx)
-{
- virBuffer buf = VIR_BUFFER_INITIALIZER;
- char macaddr[VIR_MAC_STRING_BUFLEN];
-
- /* General format: ethNN=type,options */
-
- virBufferAsprintf(&buf, "eth%d=", idx);
-
- switch (def->type) {
- case VIR_DOMAIN_NET_TYPE_USER:
- /* ethNNN=slirp,macaddr */
- virBufferAddLit(&buf, "slirp");
- break;
-
- case VIR_DOMAIN_NET_TYPE_ETHERNET:
- /* ethNNN=tuntap,tapname,macaddr,gateway */
- virBufferAddLit(&buf, "tuntap,");
- if (def->ifname)
- virBufferAdd(&buf, def->ifname, -1);
- if (def->guestIP.nips > 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("IP address not supported for ethernet interface"));
- goto error;
- }
- break;
-
- case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("vhostuser networking type not supported"));
- goto error;
-
- case VIR_DOMAIN_NET_TYPE_SERVER:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("TCP server networking type not supported"));
- goto error;
-
- case VIR_DOMAIN_NET_TYPE_CLIENT:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("TCP client networking type not supported"));
- goto error;
-
- case VIR_DOMAIN_NET_TYPE_UDP:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("UDP networking type not supported"));
- goto error;
-
- case VIR_DOMAIN_NET_TYPE_MCAST:
- /* ethNNN=tuntap,macaddr,ipaddr,port */
- virBufferAddLit(&buf, "mcast");
- break;
-
- case VIR_DOMAIN_NET_TYPE_NETWORK:
- {
- char *bridge;
- virNetworkPtr network = virNetworkLookupByName(conn,
- def->data.network.name);
- if (!network) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Network '%s' not found"),
- def->data.network.name);
- goto error;
- }
- bridge = virNetworkGetBridgeName(network);
- virObjectUnref(network);
- if (bridge == NULL)
- goto error;
-
- if (umlConnectTapDevice(vm, def, bridge) < 0) {
- VIR_FREE(bridge);
- goto error;
- }
-
- /* ethNNN=tuntap,tapname,macaddr,gateway */
- virBufferAsprintf(&buf, "tuntap,%s", def->ifname);
- break;
- }
-
- case VIR_DOMAIN_NET_TYPE_BRIDGE:
- if (umlConnectTapDevice(vm, def,
- def->data.bridge.brname) < 0)
- goto error;
-
- /* ethNNN=tuntap,tapname,macaddr,gateway */
- virBufferAsprintf(&buf, "tuntap,%s", def->ifname);
- break;
-
- case VIR_DOMAIN_NET_TYPE_INTERNAL:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("internal networking type not supported"));
- goto error;
-
- case VIR_DOMAIN_NET_TYPE_DIRECT:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("direct networking type not supported"));
- goto error;
-
- case VIR_DOMAIN_NET_TYPE_HOSTDEV:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("hostdev networking type not supported"));
- goto error;
-
- case VIR_DOMAIN_NET_TYPE_LAST:
- break;
- }
-
- if (def->script) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("interface script execution not supported by this driver"));
- goto error;
- }
-
- virBufferAsprintf(&buf, ",%s", virMacAddrFormat(&def->mac, macaddr));
-
- if (def->type == VIR_DOMAIN_NET_TYPE_MCAST) {
- virBufferAsprintf(&buf, ",%s,%d",
- def->data.socket.address,
- def->data.socket.port);
- }
-
- if (virBufferCheckError(&buf) < 0)
- return NULL;
-
- return virBufferContentAndReset(&buf);
-
- error:
- virBufferFreeAndReset(&buf);
- return NULL;
-}
-
-static char *
-umlBuildCommandLineChr(virDomainChrDefPtr def,
- const char *dev,
- virCommandPtr cmd)
-{
- char *ret = NULL;
-
- switch (def->source->type) {
- case VIR_DOMAIN_CHR_TYPE_NULL:
- if (virAsprintf(&ret, "%s%d=null", dev, def->target.port) < 0)
- return NULL;
- break;
-
- case VIR_DOMAIN_CHR_TYPE_PTY:
- if (virAsprintf(&ret, "%s%d=pts", dev, def->target.port) < 0)
- return NULL;
- break;
-
- case VIR_DOMAIN_CHR_TYPE_DEV:
- if (virAsprintf(&ret, "%s%d=tty:%s", dev, def->target.port,
- def->source->data.file.path) < 0)
- return NULL;
- break;
-
- case VIR_DOMAIN_CHR_TYPE_STDIO:
- if (virAsprintf(&ret, "%s%d=fd:0,fd:1", dev, def->target.port) < 0)
- return NULL;
- break;
-
- case VIR_DOMAIN_CHR_TYPE_TCP:
- if (def->source->data.tcp.listen != 1) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("only TCP listen is supported for chr device"));
- return NULL;
- }
-
- if (virAsprintf(&ret, "%s%d=port:%s", dev, def->target.port,
- def->source->data.tcp.service) < 0)
- return NULL;
- break;
-
- case VIR_DOMAIN_CHR_TYPE_FILE:
- {
- int fd_out;
-
- if ((fd_out = open(def->source->data.file.path,
- O_WRONLY | O_APPEND | O_CREAT, 0660)) < 0) {
- virReportSystemError(errno,
- _("failed to open chardev file: %s"),
- def->source->data.file.path);
- return NULL;
- }
- if (virAsprintf(&ret, "%s%d=null,fd:%d", dev, def->target.port, fd_out) < 0) {
- VIR_FORCE_CLOSE(fd_out);
- return NULL;
- }
- virCommandPassFD(cmd, fd_out,
- VIR_COMMAND_PASS_FD_CLOSE_PARENT);
- }
- break;
- case VIR_DOMAIN_CHR_TYPE_PIPE:
- /* XXX could open the pipe & just pass the FDs. Be wary of
- * the effects of blocking I/O, though. */
-
- case VIR_DOMAIN_CHR_TYPE_VC:
- case VIR_DOMAIN_CHR_TYPE_UDP:
- case VIR_DOMAIN_CHR_TYPE_UNIX:
- default:
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("unsupported chr device type %d"), def->source->type);
- break;
- }
-
- return ret;
-}
-
-/*
- * Null-terminate the current argument and return a pointer to the next.
- * This should follow the same rules as the Linux kernel: arguments are
- * separated by spaces; arguments can be quoted with double quotes; double
- * quotes can't be escaped.
- */
-static char *umlNextArg(char *args)
-{
- int in_quote = 0;
-
- for (; *args; args++) {
- if (*args == ' ' && !in_quote) {
- *args++ = '\0';
- break;
- }
- if (*args == '"')
- in_quote = !in_quote;
- }
-
- while (*args == ' ')
- args++;
-
- return args;
-}
-
-/*
- * Constructs a argv suitable for launching uml with config defined
- * for a given virtual machine.
- */
-virCommandPtr umlBuildCommandLine(virConnectPtr conn,
- struct uml_driver *driver,
- virDomainObjPtr vm)
-{
- size_t i, j;
- virCommandPtr cmd;
-
- cmd = virCommandNew(vm->def->os.kernel);
-
- virCommandAddEnvPassCommon(cmd);
-
- /* virCommandAddArgPair(cmd, "con0", "fd:0,fd:1"); */
- virCommandAddArgFormat(cmd, "mem=%lluK", vm->def->mem.cur_balloon);
- virCommandAddArgPair(cmd, "umid", vm->def->name);
- virCommandAddArgPair(cmd, "uml_dir", driver->monitorDir);
-
- if (vm->def->os.root)
- virCommandAddArgPair(cmd, "root", vm->def->os.root);
-
- for (i = 0; i < vm->def->ndisks; i++) {
- virDomainDiskDefPtr disk = vm->def->disks[i];
-
- if (!STRPREFIX(disk->dst, "ubd")) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("unsupported disk type '%s'"), disk->dst);
- goto error;
- }
-
- virCommandAddArgPair(cmd, disk->dst, virDomainDiskGetSource(disk));
- }
-
- for (i = 0; i < vm->def->nnets; i++) {
- char *ret = umlBuildCommandLineNet(conn, vm->def, vm->def->nets[i], i);
- if (!ret)
- goto error;
- virCommandAddArg(cmd, ret);
- VIR_FREE(ret);
- }
-
- for (i = 0; i < UML_MAX_CHAR_DEVICE; i++) {
- virDomainChrDefPtr chr = NULL;
- char *ret = NULL;
- for (j = 0; j < vm->def->nconsoles; j++)
- if (vm->def->consoles[j]->target.port == i)
- chr = vm->def->consoles[j];
- if (chr)
- ret = umlBuildCommandLineChr(chr, "con", cmd);
- if (!ret)
- if (virAsprintf(&ret, "con%zu=none", i) < 0)
- goto error;
- virCommandAddArg(cmd, ret);
- VIR_FREE(ret);
- }
-
- for (i = 0; i < UML_MAX_CHAR_DEVICE; i++) {
- virDomainChrDefPtr chr = NULL;
- char *ret = NULL;
- for (j = 0; j < vm->def->nserials; j++)
- if (vm->def->serials[j]->target.port == i)
- chr = vm->def->serials[j];
- if (chr)
- ret = umlBuildCommandLineChr(chr, "ssl", cmd);
- if (!ret)
- if (virAsprintf(&ret, "ssl%zu=none", i) < 0)
- goto error;
-
- virCommandAddArg(cmd, ret);
- VIR_FREE(ret);
- }
-
- if (vm->def->os.cmdline) {
- char *args, *next_arg;
- char *cmdline;
- if (VIR_STRDUP(cmdline, vm->def->os.cmdline) < 0)
- goto error;
-
- args = cmdline;
- while (*args == ' ')
- args++;
-
- while (*args) {
- next_arg = umlNextArg(args);
- virCommandAddArg(cmd, args);
- args = next_arg;
- }
- VIR_FREE(cmdline);
- }
-
- return cmd;
-
- error:
- virCommandFree(cmd);
- return NULL;
-}
diff --git a/src/uml/uml_conf.h b/src/uml/uml_conf.h
deleted file mode 100644
index a9520a6d3e..0000000000
--- a/src/uml/uml_conf.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * uml_conf.h: VM configuration management
- *
- * Copyright (C) 2006, 2007, 2010 Red Hat, Inc.
- * Copyright (C) 2006 Daniel P. Berrange
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-
-#ifndef LIBVIRT_UML_CONF_H
-# define LIBVIRT_UML_CONF_H
-
-# include "internal.h"
-# include "libvirt_internal.h"
-# include "capabilities.h"
-# include "network_conf.h"
-# include "virdomainobjlist.h"
-# include "domain_event.h"
-# include "virerror.h"
-# include "virthread.h"
-# include "vircommand.h"
-# include "virhash.h"
-
-# define umlDebug(fmt, ...) do {} while (0)
-
-# define UML_CPUMASK_LEN CPU_SETSIZE
-
-# define UML_MAX_CHAR_DEVICE 16
-
-/* Main driver state */
-struct uml_driver {
- virMutex lock;
-
- bool privileged;
- virStateInhibitCallback inhibitCallback;
- void *inhibitOpaque;
-
- unsigned long umlVersion;
- int nextvmid;
-
- virDomainObjListPtr domains;
- size_t nactive;
-
- char *configDir;
- char *autostartDir;
- char *logDir;
- char *monitorDir;
-
- int inotifyFD;
- int inotifyWatch;
-
- virCapsPtr caps;
- virDomainXMLOptionPtr xmlopt;
-
- /* Event handling */
- virObjectEventStatePtr domainEventState;
-
- /* Mapping of 'char *uuidstr' -> virConnectPtr
- * of guests which will be automatically killed
- * when the virConnectPtr is closed*/
- virHashTablePtr autodestroy;
-};
-
-virCapsPtr umlCapsInit (void);
-
-virCommandPtr umlBuildCommandLine(virConnectPtr conn,
- struct uml_driver *driver,
- virDomainObjPtr dom);
-
-#endif /* LIBVIRT_UML_CONF_H */
diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c
deleted file mode 100644
index e790273717..0000000000
--- a/src/uml/uml_driver.c
+++ /dev/null
@@ -1,2835 +0,0 @@
-/*
- * uml_driver.c: core driver methods for managing UML guests
- *
- * Copyright (C) 2006-2015 Red Hat, Inc.
- * Copyright (C) 2006-2008 Daniel P. Berrange
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-
-#include <config.h>
-
-#include <sys/types.h>
-#include <sys/poll.h>
-#include <stdarg.h>
-#include <unistd.h>
-#include <sys/utsname.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <pwd.h>
-#include <sys/wait.h>
-#include <sys/ioctl.h>
-#include <sys/inotify.h>
-#include <sys/un.h>
-
-#include "uml_driver.h"
-#include "uml_conf.h"
-#include "virbuffer.h"
-#include "virhostcpu.h"
-#include "virhostmem.h"
-#include "capabilities.h"
-#include "viralloc.h"
-#include "viruuid.h"
-#include "domain_conf.h"
-#include "domain_audit.h"
-#include "datatypes.h"
-#include "virlog.h"
-#include "domain_nwfilter.h"
-#include "virfile.h"
-#include "virfdstream.h"
-#include "configmake.h"
-#include "virnetdevtap.h"
-#include "virnodesuspend.h"
-#include "virprocess.h"
-#include "viruri.h"
-#include "virstring.h"
-#include "viraccessapicheck.h"
-
-#define VIR_FROM_THIS VIR_FROM_UML
-
-VIR_LOG_INIT("uml.uml_driver");
-
-typedef struct _umlDomainObjPrivate umlDomainObjPrivate;
-typedef umlDomainObjPrivate *umlDomainObjPrivatePtr;
-struct _umlDomainObjPrivate {
- int monitor;
- int monitorWatch;
-};
-
-static int umlProcessAutoDestroyInit(struct uml_driver *driver);
-static void umlProcessAutoDestroyRun(struct uml_driver *driver,
- virConnectPtr conn);
-static void umlProcessAutoDestroyShutdown(struct uml_driver *driver);
-static int umlProcessAutoDestroyAdd(struct uml_driver *driver,
- virDomainObjPtr vm,
- virConnectPtr conn);
-static int umlProcessAutoDestroyRemove(struct uml_driver *driver,
- virDomainObjPtr vm);
-
-
-static int umlStateCleanup(void);
-
-static void *umlDomainObjPrivateAlloc(void *opaque ATTRIBUTE_UNUSED)
-{
- umlDomainObjPrivatePtr priv;
-
- if (VIR_ALLOC(priv) < 0)
- return NULL;
-
- priv->monitor = -1;
- priv->monitorWatch = -1;
-
- return priv;
-}
-
-static void umlDomainObjPrivateFree(void *data)
-{
- umlDomainObjPrivatePtr priv = data;
-
- VIR_FREE(priv);
-}
-
-
-static void umlDriverLock(struct uml_driver *driver)
-{
- virMutexLock(&driver->lock);
-}
-static void umlDriverUnlock(struct uml_driver *driver)
-{
- virMutexUnlock(&driver->lock);
-}
-
-
-static int umlOpenMonitor(struct uml_driver *driver,
- virDomainObjPtr vm);
-static int umlReadPidFile(struct uml_driver *driver,
- virDomainObjPtr vm);
-
-static int umlStartVMDaemon(virConnectPtr conn,
- struct uml_driver *driver,
- virDomainObjPtr vm,
- bool autoDestroy);
-
-static void umlShutdownVMDaemon(struct uml_driver *driver,
- virDomainObjPtr vm,
- virDomainShutoffReason reason);
-
-
-static int umlMonitorCommand(const struct uml_driver *driver,
- const virDomainObj *vm,
- const char *cmd,
- char **reply);
-
-static struct uml_driver *uml_driver;
-
-static virDomainObjPtr
-umlDomObjFromDomainLocked(struct uml_driver *driver,
- const unsigned char *uuid)
-{
- virDomainObjPtr vm;
- char uuidstr[VIR_UUID_STRING_BUFLEN];
-
- if (!(vm = virDomainObjListFindByUUID(driver->domains, uuid))) {
- virUUIDFormat(uuid, uuidstr);
-
- virReportError(VIR_ERR_NO_DOMAIN,
- _("no domain with matching uuid '%s'"), uuidstr);
- return NULL;
- }
-
- return vm;
-}
-
-
-static virDomainObjPtr
-umlDomObjFromDomain(struct uml_driver *driver,
- const unsigned char *uuid)
-{
- virDomainObjPtr vm;
-
- umlDriverLock(driver);
- vm = umlDomObjFromDomainLocked(driver, uuid);
- umlDriverUnlock(driver);
- return vm;
-}
-
-
-struct umlAutostartData {
- struct uml_driver *driver;
- virConnectPtr conn;
-};
-
-static int
-umlAutostartDomain(virDomainObjPtr vm,
- void *opaque)
-{
- const struct umlAutostartData *data = opaque;
- int ret = 0;
- virObjectLock(vm);
- if (vm->autostart &&
- !virDomainObjIsActive(vm)) {
- virResetLastError();
- ret = umlStartVMDaemon(data->conn, data->driver, vm, false);
- virDomainAuditStart(vm, "booted", ret >= 0);
- if (ret < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to autostart VM '%s': %s"),
- vm->def->name, virGetLastErrorMessage());
- } else {
- virObjectEventPtr event =
- virDomainEventLifecycleNewFromObj(vm,
- VIR_DOMAIN_EVENT_STARTED,
- VIR_DOMAIN_EVENT_STARTED_BOOTED);
- virObjectEventStateQueue(data->driver->domainEventState, event);
- }
- }
- virObjectUnlock(vm);
- return ret;
-}
-
-static void
-umlAutostartConfigs(struct uml_driver *driver)
-{
- /* XXX: Figure out a better way todo this. The domain
- * startup code needs a connection handle in order
- * to lookup the bridge associated with a virtual
- * network
- */
- virConnectPtr conn = virConnectOpen(driver->privileged ?
- "uml:///system" :
- "uml:///session");
- /* Ignoring NULL conn which is mostly harmless here */
-
- struct umlAutostartData data = { driver, conn };
-
- umlDriverLock(driver);
- virDomainObjListForEach(driver->domains, umlAutostartDomain, &data);
- umlDriverUnlock(driver);
-
- virObjectUnref(conn);
-}
-
-
-static int
-umlIdentifyOneChrPTY(struct uml_driver *driver,
- virDomainObjPtr dom,
- virDomainChrDefPtr def,
- const char *dev)
-{
- char *cmd;
- char *res = NULL;
- int retries = 0;
- if (virAsprintf(&cmd, "config %s%d", dev, def->target.port) < 0)
- return -1;
- requery:
- if (umlMonitorCommand(driver, dom, cmd, &res) < 0)
- return -1;
-
- if (res && STRPREFIX(res, "pts:")) {
- VIR_FREE(def->source->data.file.path);
- if (VIR_STRDUP(def->source->data.file.path, res + 4) < 0) {
- VIR_FREE(res);
- VIR_FREE(cmd);
- return -1;
- }
- } else if (!res || STRPREFIX(res, "pts")) {
- /* It can take a while to startup, so retry for
- up to 5 seconds */
- /* XXX should do this in a better non-blocking
- way somehow ...perhaps register a timer */
- if (retries++ < 50) {
- VIR_FREE(res);
- usleep(1000*10);
- goto requery;
- }
- }
-
- VIR_FREE(cmd);
- VIR_FREE(res);
- return 0;
-}
-
-static int
-umlIdentifyChrPTY(struct uml_driver *driver,
- virDomainObjPtr dom)
-{
- size_t i;
-
- for (i = 0; i < dom->def->nconsoles; i++)
- if (dom->def->consoles[i]->source->type == VIR_DOMAIN_CHR_TYPE_PTY)
- if (umlIdentifyOneChrPTY(driver, dom,
- dom->def->consoles[i], "con") < 0)
- return -1;
-
- for (i = 0; i < dom->def->nserials; i++)
- if (dom->def->serials[i]->source->type == VIR_DOMAIN_CHR_TYPE_PTY &&
- umlIdentifyOneChrPTY(driver, dom,
- dom->def->serials[i], "ssl") < 0)
- return -1;
-
- return 0;
-}
-
-static void
-umlInotifyEvent(int watch,
- int fd,
- int events ATTRIBUTE_UNUSED,
- void *data)
-{
- char buf[1024];
- struct inotify_event e;
- int got;
- char *tmp, *name;
- struct uml_driver *driver = data;
- virDomainObjPtr dom;
- virObjectEventPtr event = NULL;
-
- umlDriverLock(driver);
- if (watch != driver->inotifyWatch)
- goto cleanup;
-
- reread:
- got = read(fd, buf, sizeof(buf));
- if (got == -1) {
- if (errno == EINTR)
- goto reread;
- goto cleanup;
- }
-
- tmp = buf;
- while (got) {
- if (got < sizeof(e))
- goto cleanup; /* bad */
-
- memcpy(&e, tmp, sizeof(e));
- tmp += sizeof(e);
- got -= sizeof(e);
-
- if (got < e.len)
- goto cleanup;
-
- tmp += e.len;
- got -= e.len;
-
- name = (char *)&(e.name);
-
- dom = virDomainObjListFindByName(driver->domains, name);
-
- if (!dom)
- continue;
-
- if (e.mask & IN_DELETE) {
- VIR_DEBUG("Got inotify domain shutdown '%s'", name);
- if (!virDomainObjIsActive(dom)) {
- virDomainObjEndAPI(&dom);
- continue;
- }
-
- umlShutdownVMDaemon(driver, dom, VIR_DOMAIN_SHUTOFF_SHUTDOWN);
- virDomainAuditStop(dom, "shutdown");
- event = virDomainEventLifecycleNewFromObj(dom,
- VIR_DOMAIN_EVENT_STOPPED,
- VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
- if (!dom->persistent)
- virDomainObjListRemove(driver->domains, dom);
- } else if (e.mask & (IN_CREATE | IN_MODIFY)) {
- VIR_DEBUG("Got inotify domain startup '%s'", name);
- if (virDomainObjIsActive(dom)) {
- virDomainObjEndAPI(&dom);
- continue;
- }
-
- if (umlReadPidFile(driver, dom) < 0) {
- virDomainObjEndAPI(&dom);
- continue;
- }
-
- dom->def->id = driver->nextvmid++;
-
- if (!driver->nactive && driver->inhibitCallback)
- driver->inhibitCallback(true, driver->inhibitOpaque);
- driver->nactive++;
-
- virDomainObjSetState(dom, VIR_DOMAIN_RUNNING,
- VIR_DOMAIN_RUNNING_BOOTED);
-
- if (umlOpenMonitor(driver, dom) < 0) {
- VIR_WARN("Could not open monitor for new domain");
- umlShutdownVMDaemon(driver, dom,
- VIR_DOMAIN_SHUTOFF_FAILED);
- virDomainAuditStop(dom, "failed");
- event = virDomainEventLifecycleNewFromObj(dom,
- VIR_DOMAIN_EVENT_STOPPED,
- VIR_DOMAIN_EVENT_STOPPED_FAILED);
- if (!dom->persistent)
- virDomainObjListRemove(driver->domains, dom);
- } else if (umlIdentifyChrPTY(driver, dom) < 0) {
- VIR_WARN("Could not identify character devices for new domain");
- umlShutdownVMDaemon(driver, dom,
- VIR_DOMAIN_SHUTOFF_FAILED);
- virDomainAuditStop(dom, "failed");
- event = virDomainEventLifecycleNewFromObj(dom,
- VIR_DOMAIN_EVENT_STOPPED,
- VIR_DOMAIN_EVENT_STOPPED_FAILED);
- if (!dom->persistent)
- virDomainObjListRemove(driver->domains, dom);
- }
- }
- virDomainObjEndAPI(&dom);
- virObjectEventStateQueue(driver->domainEventState, event);
- event = NULL;
- }
-
- cleanup:
- umlDriverUnlock(driver);
-}
-
-
-static int
-umlDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
- const virDomainDef *def ATTRIBUTE_UNUSED,
- virCapsPtr caps ATTRIBUTE_UNUSED,
- unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque ATTRIBUTE_UNUSED,
- void *parseOpaque ATTRIBUTE_UNUSED)
-{
- if (dev->type == VIR_DOMAIN_DEVICE_CHR &&
- dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
- dev->data.chr->targetType == VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_NONE)
- dev->data.chr->targetType = VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_UML;
-
- /* forbid capabilities mode hostdev in this kind of hypervisor */
- if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV &&
- dev->data.hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_CAPABILITIES) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("hostdev mode 'capabilities' is not "
- "supported in %s"),
- virDomainVirtTypeToString(def->virtType));
- return -1;
- }
-
- return 0;
-}
-
-
-static int
-umlDomainDefPostParse(virDomainDefPtr def ATTRIBUTE_UNUSED,
- virCapsPtr caps ATTRIBUTE_UNUSED,
- unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque ATTRIBUTE_UNUSED,
- void *parseOpaque ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-
-virDomainDefParserConfig umlDriverDomainDefParserConfig = {
- .devicesPostParseCallback = umlDomainDeviceDefPostParse,
- .domainPostParseCallback = umlDomainDefPostParse,
-};
-
-
-/**
- * umlStartup:
- *
- * Initialization function for the Uml daemon
- */
-static int
-umlStateInitialize(bool privileged,
- virStateInhibitCallback callback,
- void *opaque)
-{
- char *base = NULL;
- char *userdir = NULL;
-
- virDomainXMLPrivateDataCallbacks privcb = {
- .alloc = umlDomainObjPrivateAlloc,
- .free = umlDomainObjPrivateFree,
- };
-
- if (VIR_ALLOC(uml_driver) < 0)
- return -1;
-
- uml_driver->privileged = privileged;
- uml_driver->inhibitCallback = callback;
- uml_driver->inhibitOpaque = opaque;
-
- if (virMutexInit(¨_driver->lock) < 0) {
- VIR_FREE(uml_driver);
- return -1;
- }
- umlDriverLock(uml_driver);
-
- /* Don't have a dom0 so start from 1 */
- uml_driver->nextvmid = 1;
- uml_driver->inotifyWatch = -1;
-
- if (!(uml_driver->domains = virDomainObjListNew()))
- goto error;
-
- uml_driver->domainEventState = virObjectEventStateNew();
- if (!uml_driver->domainEventState)
- goto error;
-
- userdir = virGetUserDirectory();
- if (!userdir)
- goto error;
-
- if (privileged) {
- if (virAsprintf(¨_driver->logDir,
- "%s/log/libvirt/uml", LOCALSTATEDIR) == -1)
- goto out_of_memory;
-
- if (VIR_STRDUP(base, SYSCONFDIR "/libvirt") < 0)
- goto error;
-
- if (virAsprintf(¨_driver->monitorDir,
- "%s/run/libvirt/uml-guest", LOCALSTATEDIR) == -1)
- goto out_of_memory;
- } else {
- base = virGetUserConfigDirectory();
- if (!base)
- goto error;
-
- if (virAsprintf(¨_driver->logDir,
- "%s/uml/log", base) == -1)
- goto out_of_memory;
-
- if (virAsprintf(¨_driver->monitorDir,
- "%s/.uml", userdir) == -1)
- goto out_of_memory;
- }
-
- /* Configuration paths are either $XDG_CONFIG_HOME/libvirt/uml/... (session) or
- * /etc/libvirt/uml/... (system).
- */
- if (virAsprintf(¨_driver->configDir, "%s/uml", base) == -1)
- goto out_of_memory;
-
- if (virAsprintf(¨_driver->autostartDir, "%s/uml/autostart", base) == -1)
- goto out_of_memory;
-
- VIR_FREE(base);
-
- if ((uml_driver->caps = umlCapsInit()) == NULL)
- goto out_of_memory;
-
- if (!(uml_driver->xmlopt = virDomainXMLOptionNew(¨DriverDomainDefParserConfig,
- &privcb, NULL, NULL, NULL)))
- goto error;
-
- if ((uml_driver->inotifyFD = inotify_init()) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot initialize inotify"));
- goto error;
- }
-
- if (virFileMakePath(uml_driver->monitorDir) < 0) {
- virReportSystemError(errno, _("Failed to create monitor directory %s"),
- uml_driver->monitorDir);
- goto error;
- }
-
- VIR_INFO("Adding inotify watch on %s", uml_driver->monitorDir);
- if (inotify_add_watch(uml_driver->inotifyFD,
- uml_driver->monitorDir,
- IN_CREATE | IN_MODIFY | IN_DELETE) < 0) {
- virReportSystemError(errno, _("Failed to create inotify watch on %s"),
- uml_driver->monitorDir);
- goto error;
- }
-
- if ((uml_driver->inotifyWatch =
- virEventAddHandle(uml_driver->inotifyFD, POLLIN,
- umlInotifyEvent, uml_driver, NULL)) < 0)
- goto error;
-
- if (umlProcessAutoDestroyInit(uml_driver) < 0)
- goto error;
-
- if (virDomainObjListLoadAllConfigs(uml_driver->domains,
- uml_driver->configDir,
- uml_driver->autostartDir, false,
- uml_driver->caps,
- uml_driver->xmlopt,
- NULL, NULL) < 0)
- goto error;
-
- umlDriverUnlock(uml_driver);
-
- VIR_FREE(userdir);
-
- return 0;
-
- out_of_memory:
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("umlStartup: out of memory"));
-
- error:
- VIR_FREE(userdir);
- VIR_FREE(base);
- umlDriverUnlock(uml_driver);
- umlStateCleanup();
- return -1;
-}
-
-/**
- * umlStateAutoStart:
- *
- * Function to autostart the Uml daemons
- */
-static void
-umlStateAutoStart(void)
-{
- if (!uml_driver)
- return;
-
- umlAutostartConfigs(uml_driver);
-}
-
-static void umlNotifyLoadDomain(virDomainObjPtr vm, int newVM, void *opaque)
-{
- struct uml_driver *driver = opaque;
-
- if (newVM) {
- virObjectEventPtr event =
- virDomainEventLifecycleNewFromObj(vm,
- VIR_DOMAIN_EVENT_DEFINED,
- VIR_DOMAIN_EVENT_DEFINED_ADDED);
- virObjectEventStateQueue(driver->domainEventState, event);
- }
-}
-
-
-/**
- * umlStateReload:
- *
- * Function to restart the Uml daemon, it will recheck the configuration
- * files and update its state and the networking
- */
-static int
-umlStateReload(void)
-{
- if (!uml_driver)
- return 0;
-
- umlDriverLock(uml_driver);
- virDomainObjListLoadAllConfigs(uml_driver->domains,
- uml_driver->configDir,
- uml_driver->autostartDir, false,
- uml_driver->caps,
- uml_driver->xmlopt,
- umlNotifyLoadDomain, uml_driver);
- umlDriverUnlock(uml_driver);
-
- return 0;
-}
-
-
-static int
-umlShutdownOneVM(virDomainObjPtr dom, void *opaque)
-{
- struct uml_driver *driver = opaque;
-
- virObjectLock(dom);
- if (virDomainObjIsActive(dom)) {
- umlShutdownVMDaemon(driver, dom, VIR_DOMAIN_SHUTOFF_SHUTDOWN);
- virDomainAuditStop(dom, "shutdown");
- }
- virObjectUnlock(dom);
- return 0;
-}
-
-/**
- * umlStateCleanup:
- *
- * Shutdown the Uml daemon, it will stop all active domains and networks
- */
-static int
-umlStateCleanup(void)
-{
- if (!uml_driver)
- return -1;
-
- umlDriverLock(uml_driver);
- if (uml_driver->inotifyWatch != -1)
- virEventRemoveHandle(uml_driver->inotifyWatch);
- VIR_FORCE_CLOSE(uml_driver->inotifyFD);
- virObjectUnref(uml_driver->caps);
- virObjectUnref(uml_driver->xmlopt);
-
- /* shutdown active VMs
- * XXX allow them to stay around & reconnect */
- virDomainObjListForEach(uml_driver->domains, umlShutdownOneVM, uml_driver);
-
- virObjectUnref(uml_driver->domains);
-
- virObjectUnref(uml_driver->domainEventState);
-
- VIR_FREE(uml_driver->logDir);
- VIR_FREE(uml_driver->configDir);
- VIR_FREE(uml_driver->autostartDir);
- VIR_FREE(uml_driver->monitorDir);
-
- umlProcessAutoDestroyShutdown(uml_driver);
-
- umlDriverUnlock(uml_driver);
- virMutexDestroy(¨_driver->lock);
- VIR_FREE(uml_driver);
-
- return 0;
-}
-
-
-static int umlProcessAutoDestroyInit(struct uml_driver *driver)
-{
- if (!(driver->autodestroy = virHashCreate(5, NULL)))
- return -1;
-
- return 0;
-}
-
-struct umlProcessAutoDestroyData {
- struct uml_driver *driver;
- virConnectPtr conn;
-};
-
-static int umlProcessAutoDestroyDom(void *payload,
- const void *name,
- void *opaque)
-{
- struct umlProcessAutoDestroyData *data = opaque;
- virConnectPtr conn = payload;
- const char *uuidstr = name;
- unsigned char uuid[VIR_UUID_BUFLEN];
- virDomainObjPtr dom;
- virObjectEventPtr event = NULL;
-
- VIR_DEBUG("conn=%p uuidstr=%s thisconn=%p", conn, uuidstr, data->conn);
-
- if (data->conn != conn)
- return 0;
-
- if (virUUIDParse(uuidstr, uuid) < 0) {
- VIR_WARN("Failed to parse %s", uuidstr);
- return 0;
- }
-
- if (!(dom = virDomainObjListFindByUUID(data->driver->domains, uuid))) {
- VIR_DEBUG("No domain object to kill");
- return 0;
- }
-
- VIR_DEBUG("Killing domain");
- umlShutdownVMDaemon(data->driver, dom, VIR_DOMAIN_SHUTOFF_DESTROYED);
- virDomainAuditStop(dom, "destroyed");
- event = virDomainEventLifecycleNewFromObj(dom,
- VIR_DOMAIN_EVENT_STOPPED,
- VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
-
- if (!dom->persistent)
- virDomainObjListRemove(data->driver->domains, dom);
-
- virDomainObjEndAPI(&dom);
- virObjectEventStateQueue(data->driver->domainEventState, event);
- virHashRemoveEntry(data->driver->autodestroy, uuidstr);
- return 0;
-}
-
-/*
- * Precondition: driver is locked
- */
-static void umlProcessAutoDestroyRun(struct uml_driver *driver, virConnectPtr conn)
-{
- struct umlProcessAutoDestroyData data = {
- driver, conn
- };
- VIR_DEBUG("conn=%p", conn);
- virHashForEach(driver->autodestroy, umlProcessAutoDestroyDom, &data);
-}
-
-static void umlProcessAutoDestroyShutdown(struct uml_driver *driver)
-{
- virHashFree(driver->autodestroy);
-}
-
-static int umlProcessAutoDestroyAdd(struct uml_driver *driver,
- virDomainObjPtr vm,
- virConnectPtr conn)
-{
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- virUUIDFormat(vm->def->uuid, uuidstr);
- VIR_DEBUG("vm=%s uuid=%s conn=%p", vm->def->name, uuidstr, conn);
- if (virHashAddEntry(driver->autodestroy, uuidstr, conn) < 0)
- return -1;
- return 0;
-}
-
-static int umlProcessAutoDestroyRemove(struct uml_driver *driver,
- virDomainObjPtr vm)
-{
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- virUUIDFormat(vm->def->uuid, uuidstr);
- VIR_DEBUG("vm=%s uuid=%s", vm->def->name, uuidstr);
- if (virHashRemoveEntry(driver->autodestroy, uuidstr) < 0)
- return -1;
- return 0;
-}
-
-
-static int umlReadPidFile(struct uml_driver *driver,
- virDomainObjPtr vm)
-{
- int rc = -1;
- FILE *file;
- char *pidfile = NULL;
- int retries = 0;
-
- vm->pid = -1;
- if (virAsprintf(&pidfile, "%s/%s/pid",
- driver->monitorDir, vm->def->name) < 0)
- return -1;
-
- reopen:
- if (!(file = fopen(pidfile, "r"))) {
- if (errno == ENOENT &&
- retries++ < 50) {
- usleep(1000 * 100);
- goto reopen;
- }
- goto cleanup;
- }
-
- if (fscanf(file, "%d", &vm->pid) != 1) {
- errno = EINVAL;
- VIR_FORCE_FCLOSE(file);
- goto cleanup;
- }
-
- if (VIR_FCLOSE(file) < 0)
- goto cleanup;
-
- rc = 0;
-
- cleanup:
- if (rc != 0)
- virReportSystemError(errno,
- _("failed to read pid: %s"),
- pidfile);
- VIR_FREE(pidfile);
- return rc;
-}
-
-static int umlMonitorAddress(const struct uml_driver *driver,
- const virDomainObj *vm,
- struct sockaddr_un *addr)
-{
- char *sockname;
- int retval = 0;
-
- if (virAsprintf(&sockname, "%s/%s/mconsole",
- driver->monitorDir, vm->def->name) < 0)
- return -1;
-
- memset(addr, 0, sizeof(*addr));
- addr->sun_family = AF_UNIX;
- if (virStrcpyStatic(addr->sun_path, sockname) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Unix path %s too long for destination"), sockname);
- retval = -1;
- }
- VIR_FREE(sockname);
- return retval;
-}
-
-static int umlOpenMonitor(struct uml_driver *driver,
- virDomainObjPtr vm)
-{
- struct sockaddr_un addr;
- struct stat sb;
- int retries = 0;
- umlDomainObjPrivatePtr priv = vm->privateData;
-
- if (umlMonitorAddress(driver, vm, &addr) < 0)
- return -1;
-
- VIR_DEBUG("Dest address for monitor is '%s'", addr.sun_path);
- restat:
- if (stat(addr.sun_path, &sb) < 0) {
- if (errno == ENOENT &&
- retries++ < 50) {
- usleep(1000 * 100);
- goto restat;
- }
- return -1;
- }
-
- if ((priv->monitor = socket(PF_UNIX, SOCK_DGRAM, 0)) < 0) {
- virReportSystemError(errno,
- "%s", _("cannot open socket"));
- return -1;
- }
-
- memset(addr.sun_path, 0, sizeof(addr.sun_path));
- snprintf(addr.sun_path + 1, sizeof(addr.sun_path) - 1,
- "libvirt-uml-%u", vm->pid);
- VIR_DEBUG("Reply address for monitor is '%s'", addr.sun_path+1);
- if (bind(priv->monitor, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
- virReportSystemError(errno,
- "%s", _("cannot bind socket"));
- VIR_FORCE_CLOSE(priv->monitor);
- return -1;
- }
-
- return 0;
-}
-
-
-#define MONITOR_MAGIC 0xcafebabe
-#define MONITOR_BUFLEN 512
-#define MONITOR_VERSION 2
-
-struct monitor_request {
- uint32_t magic;
- uint32_t version;
- uint32_t length;
- char data[MONITOR_BUFLEN];
-};
-
-struct monitor_response {
- uint32_t error;
- uint32_t extra;
- uint32_t length;
- char data[MONITOR_BUFLEN];
-};
-
-
-static int umlMonitorCommand(const struct uml_driver *driver,
- const virDomainObj *vm,
- const char *cmd,
- char **reply)
-{
- struct monitor_request req;
- struct monitor_response res;
- char *retdata = NULL;
- int retlen = 0, ret = 0;
- struct sockaddr_un addr;
- unsigned int addrlen;
- umlDomainObjPrivatePtr priv = vm->privateData;
-
- VIR_DEBUG("Run command '%s'", cmd);
-
- *reply = NULL;
-
- if (umlMonitorAddress(driver, vm, &addr) < 0)
- return -1;
-
- memset(&req, 0, sizeof(req));
- req.magic = MONITOR_MAGIC;
- req.version = MONITOR_VERSION;
- req.length = strlen(cmd);
- if (req.length > (MONITOR_BUFLEN-1)) {
- virReportSystemError(EINVAL,
- _("cannot send too long command %s (%d bytes)"),
- cmd, req.length);
- return -1;
- }
- if (virStrcpyStatic(req.data, cmd) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Command %s too long for destination"), cmd);
- return -1;
- }
-
- if (sendto(priv->monitor, &req, sizeof(req), 0,
- (struct sockaddr *)&addr, sizeof(addr)) != sizeof(req)) {
- virReportSystemError(errno,
- _("cannot send command %s"),
- cmd);
- return -1;
- }
-
- do {
- ssize_t nbytes;
- addrlen = sizeof(addr);
- nbytes = recvfrom(priv->monitor, &res, sizeof(res), 0,
- (struct sockaddr *)&addr, &addrlen);
- if (nbytes < 0) {
- if (errno == EAGAIN || errno == EINTR)
- continue;
- virReportSystemError(errno, _("cannot read reply %s"), cmd);
- goto error;
- }
- /* Ensure res.length is safe to read before validating its value. */
- if (nbytes < offsetof(struct monitor_request, data) ||
- nbytes < offsetof(struct monitor_request, data) + res.length) {
- virReportSystemError(0, _("incomplete reply %s"), cmd);
- goto error;
- }
-
- if (VIR_REALLOC_N(retdata, retlen + res.length) < 0)
- goto error;
- memcpy(retdata + retlen, res.data, res.length);
- retlen += res.length - 1;
- retdata[retlen] = '\0';
-
- if (res.error)
- ret = -1;
-
- } while (res.extra);
-
- VIR_DEBUG("Command reply is '%s'", NULLSTR(retdata));
-
- if (ret < 0)
- VIR_FREE(retdata);
- else
- *reply = retdata;
-
- return ret;
-
- error:
- VIR_FREE(retdata);
- return -1;
-}
-
-
-static void umlCleanupTapDevices(virDomainObjPtr vm)
-{
- size_t i;
-
- for (i = 0; i < vm->def->nnets; i++) {
- virDomainNetDefPtr def = vm->def->nets[i];
-
- if (def->type != VIR_DOMAIN_NET_TYPE_BRIDGE &&
- def->type != VIR_DOMAIN_NET_TYPE_NETWORK)
- continue;
-
- ignore_value(virNetDevTapDelete(def->ifname,
- def->backend.tap));
- }
-}
-
-static int umlStartVMDaemon(virConnectPtr conn,
- struct uml_driver *driver,
- virDomainObjPtr vm,
- bool autoDestroy)
-{
- int ret = -1;
- char *logfile;
- int logfd = -1;
- umlDomainObjPrivatePtr priv = vm->privateData;
- virCommandPtr cmd = NULL;
- size_t i;
-
- if (virDomainObjIsActive(vm)) {
- virReportError(VIR_ERR_OPERATION_INVALID, "%s",
- _("VM is already active"));
- return -1;
- }
-
- if (!vm->def->os.kernel) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("no kernel specified"));
- return -1;
- }
- /* Make sure the binary we are about to try exec'ing exists.
- * Technically we could catch the exec() failure, but that's
- * in a sub-process so its hard to feed back a useful error
- */
- if (!virFileIsExecutable(vm->def->os.kernel)) {
- virReportSystemError(errno,
- _("Cannot find UML kernel %s"),
- vm->def->os.kernel);
- return -1;
- }
-
- if (virFileMakePath(driver->logDir) < 0) {
- virReportSystemError(errno,
- _("cannot create log directory %s"),
- driver->logDir);
- return -1;
- }
-
- if (virAsprintf(&logfile, "%s/%s.log",
- driver->logDir, vm->def->name) < 0)
- return -1;
-
- if ((logfd = open(logfile, O_CREAT | O_TRUNC | O_WRONLY,
- S_IRUSR | S_IWUSR)) < 0) {
- virReportSystemError(errno,
- _("failed to create logfile %s"),
- logfile);
- VIR_FREE(logfile);
- return -1;
- }
- VIR_FREE(logfile);
-
- if (virSetCloseExec(logfd) < 0) {
- virReportSystemError(errno, "%s",
- _("Unable to set VM logfile close-on-exec flag"));
- VIR_FORCE_CLOSE(logfd);
- return -1;
- }
-
- /* Do this upfront, so any part of the startup process can add
- * runtime state to vm->def that won't be persisted. This let's us
- * report implicit runtime defaults in the XML, like vnc listen/socket
- */
- VIR_DEBUG("Setting current domain def as transient");
- if (virDomainObjSetDefTransient(driver->caps, driver->xmlopt, vm) < 0) {
- VIR_FORCE_CLOSE(logfd);
- return -1;
- }
-
- if (!(cmd = umlBuildCommandLine(conn, driver, vm)))
- goto cleanup;
-
- for (i = 0; i < vm->def->nconsoles; i++) {
- VIR_FREE(vm->def->consoles[i]->info.alias);
- if (virAsprintf(&vm->def->consoles[i]->info.alias, "console%zu", i) < 0)
- goto cleanup;
- }
-
- virCommandWriteArgLog(cmd, logfd);
-
- priv->monitor = -1;
-
- virCommandClearCaps(cmd);
- virCommandSetOutputFD(cmd, &logfd);
- virCommandSetErrorFD(cmd, &logfd);
- virCommandDaemonize(cmd);
-
- if (virCommandRun(cmd, NULL) < 0)
- goto cleanup;
-
- if (autoDestroy &&
- umlProcessAutoDestroyAdd(driver, vm, conn) < 0)
- goto cleanup;
-
- ret = 0;
- cleanup:
- VIR_FORCE_CLOSE(logfd);
- virCommandFree(cmd);
-
- if (ret < 0) {
- virDomainConfVMNWFilterTeardown(vm);
- umlCleanupTapDevices(vm);
- virDomainObjRemoveTransientDef(vm);
- }
-
- /* NB we don't mark it running here - we do that async
- with inotify */
- /* XXX what if someone else tries to start it again
- before we get the inotification ? Sounds like
- trouble.... */
- /* XXX this is bad for events too. must fix this better */
-
- return ret;
-}
-
-static void umlShutdownVMDaemon(struct uml_driver *driver,
- virDomainObjPtr vm,
- virDomainShutoffReason reason)
-{
- int ret;
- umlDomainObjPrivatePtr priv = vm->privateData;
-
- if (!virDomainObjIsActive(vm))
- return;
-
- virProcessKill(vm->pid, SIGTERM);
-
- VIR_FORCE_CLOSE(priv->monitor);
-
- if ((ret = waitpid(vm->pid, NULL, 0)) != vm->pid) {
- VIR_WARN("Got unexpected pid %d != %d",
- ret, vm->pid);
- }
-
- vm->pid = -1;
- vm->def->id = -1;
- virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, reason);
-
- virDomainConfVMNWFilterTeardown(vm);
- umlCleanupTapDevices(vm);
-
- /* Stop autodestroy in case guest is restarted */
- umlProcessAutoDestroyRemove(driver, vm);
-
- virDomainObjRemoveTransientDef(vm);
-
- driver->nactive--;
- if (!driver->nactive && driver->inhibitCallback)
- driver->inhibitCallback(false, driver->inhibitOpaque);
-}
-
-
-static int umlConnectURIProbe(char **uri)
-{
- if (uml_driver == NULL)
- return 0;
-
- return VIR_STRDUP(*uri, uml_driver->privileged ?
- "uml:///system" :
- "uml:///session");
-}
-
-
-static virDrvOpenStatus umlConnectOpen(virConnectPtr conn,
- virConnectAuthPtr auth ATTRIBUTE_UNUSED,
- virConfPtr conf ATTRIBUTE_UNUSED,
- unsigned int flags)
-{
- virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
-
- /* URI was good, but driver isn't active */
- if (uml_driver == NULL) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("uml state driver is not active"));
- return VIR_DRV_OPEN_ERROR;
- }
-
- /* Check path and tell them correct path if they made a mistake */
- if (uml_driver->privileged) {
- if (STRNEQ(conn->uri->path, "/system") &&
- STRNEQ(conn->uri->path, "/session")) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("unexpected UML URI path '%s', try uml:///system"),
- conn->uri->path);
- return VIR_DRV_OPEN_ERROR;
- }
- } else {
- if (STRNEQ(conn->uri->path, "/session")) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("unexpected UML URI path '%s', try uml:///session"),
- conn->uri->path);
- return VIR_DRV_OPEN_ERROR;
- }
- }
-
- if (virConnectOpenEnsureACL(conn) < 0)
- return VIR_DRV_OPEN_ERROR;
-
- conn->privateData = uml_driver;
-
- return VIR_DRV_OPEN_SUCCESS;
-}
-
-static int umlConnectClose(virConnectPtr conn)
-{
- struct uml_driver *driver = conn->privateData;
-
- umlDriverLock(driver);
- umlProcessAutoDestroyRun(driver, conn);
- umlDriverUnlock(driver);
-
- conn->privateData = NULL;
-
- return 0;
-}
-
-static const char *umlConnectGetType(virConnectPtr conn) {
- if (virConnectGetTypeEnsureACL(conn) < 0)
- return NULL;
-
- return "UML";
-}
-
-
-static int umlConnectIsSecure(virConnectPtr conn ATTRIBUTE_UNUSED)
-{
- /* Trivially secure, since always inside the daemon */
- return 1;
-}
-
-
-static int umlConnectIsEncrypted(virConnectPtr conn ATTRIBUTE_UNUSED)
-{
- /* Not encrypted, but remote driver takes care of that */
- return 0;
-}
-
-
-static int umlConnectIsAlive(virConnectPtr conn ATTRIBUTE_UNUSED)
-{
- return 1;
-}
-
-
-static char *umlConnectGetCapabilities(virConnectPtr conn) {
- struct uml_driver *driver = (struct uml_driver *)conn->privateData;
- char *xml;
-
- if (virConnectGetCapabilitiesEnsureACL(conn) < 0)
- return NULL;
-
- umlDriverLock(driver);
- xml = virCapabilitiesFormatXML(driver->caps);
- umlDriverUnlock(driver);
-
- return xml;
-}
-
-
-
-static int umlGetProcessInfo(unsigned long long *cpuTime, pid_t pid)
-{
- char *proc;
- FILE *pidinfo;
- unsigned long long usertime, systime;
-
- if (virAsprintf(&proc, "/proc/%lld/stat", (long long)pid) < 0)
- return -1;
-
- if (!(pidinfo = fopen(proc, "r"))) {
- /* VM probably shut down, so fake 0 */
- *cpuTime = 0;
- VIR_FREE(proc);
- return 0;
- }
-
- VIR_FREE(proc);
-
- if (fscanf(pidinfo, "%*d %*s %*c %*d %*d %*d %*d %*d %*u %*u %*u %*u %*u %llu %llu", &usertime, &systime) != 2) {
- umlDebug("not enough arg");
- VIR_FORCE_FCLOSE(pidinfo);
- return -1;
- }
-
- /* We got jiffies
- * We want nanoseconds
- * _SC_CLK_TCK is jiffies per second
- * So calculate thus....
- */
- *cpuTime = 1000ull * 1000ull * 1000ull * (usertime + systime) / (unsigned long long)sysconf(_SC_CLK_TCK);
-
- umlDebug("Got %llu %llu %llu", usertime, systime, *cpuTime);
-
- VIR_FORCE_FCLOSE(pidinfo);
-
- return 0;
-}
-
-
-static virDomainPtr umlDomainLookupByID(virConnectPtr conn,
- int id)
-{
- struct uml_driver *driver = (struct uml_driver *)conn->privateData;
- virDomainObjPtr vm;
- virDomainPtr dom = NULL;
-
- umlDriverLock(driver);
- vm = virDomainObjListFindByID(driver->domains, id);
- umlDriverUnlock(driver);
-
- if (!vm) {
- virReportError(VIR_ERR_NO_DOMAIN,
- _("no domain with matching id '%d'"), id);
- goto cleanup;
- }
-
- if (virDomainLookupByIDEnsureACL(conn, vm->def) < 0)
- goto cleanup;
-
- dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
-
- cleanup:
- virDomainObjEndAPI(&vm);
- return dom;
-}
-
-static virDomainPtr umlDomainLookupByUUID(virConnectPtr conn,
- const unsigned char *uuid)
-{
- struct uml_driver *driver = (struct uml_driver *)conn->privateData;
- virDomainObjPtr vm;
- virDomainPtr dom = NULL;
-
- if (!(vm = umlDomObjFromDomain(driver, uuid)))
- return NULL;
-
- if (virDomainLookupByUUIDEnsureACL(conn, vm->def) < 0)
- goto cleanup;
-
- dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
-
- cleanup:
- virDomainObjEndAPI(&vm);
- return dom;
-}
-
-static virDomainPtr umlDomainLookupByName(virConnectPtr conn,
- const char *name)
-{
- struct uml_driver *driver = (struct uml_driver *)conn->privateData;
- virDomainObjPtr vm;
- virDomainPtr dom = NULL;
-
- umlDriverLock(driver);
- vm = virDomainObjListFindByName(driver->domains, name);
- umlDriverUnlock(driver);
-
- if (!vm) {
- virReportError(VIR_ERR_NO_DOMAIN,
- _("no domain with matching name '%s'"), name);
- goto cleanup;
- }
-
- if (virDomainLookupByNameEnsureACL(conn, vm->def) < 0)
- goto cleanup;
-
- dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
-
- cleanup:
- virDomainObjEndAPI(&vm);
- return dom;
-}
-
-
-static int umlDomainIsActive(virDomainPtr dom)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr obj;
- int ret = -1;
-
- if (!(obj = umlDomObjFromDomain(driver, dom->uuid)))
- return -1;
-
- if (virDomainIsActiveEnsureACL(dom->conn, obj->def) < 0)
- goto cleanup;
-
- ret = virDomainObjIsActive(obj);
-
- cleanup:
- virDomainObjEndAPI(&obj);
- return ret;
-}
-
-
-static int umlDomainIsPersistent(virDomainPtr dom)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr obj;
- int ret = -1;
-
- if (!(obj = umlDomObjFromDomain(driver, dom->uuid)))
- return -1;
-
- if (virDomainIsPersistentEnsureACL(dom->conn, obj->def) < 0)
- goto cleanup;
-
- ret = obj->persistent;
-
- cleanup:
- virDomainObjEndAPI(&obj);
- return ret;
-}
-
-static int umlDomainIsUpdated(virDomainPtr dom)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr obj;
- int ret = -1;
-
- if (!(obj = umlDomObjFromDomain(driver, dom->uuid)))
- return -1;
-
- if (virDomainIsUpdatedEnsureACL(dom->conn, obj->def) < 0)
- goto cleanup;
-
- ret = obj->updated;
-
- cleanup:
- virDomainObjEndAPI(&obj);
- return ret;
-}
-
-static int umlConnectGetVersion(virConnectPtr conn, unsigned long *version)
-{
- struct uml_driver *driver = conn->privateData;
- struct utsname ut;
- int ret = -1;
-
- if (virConnectGetVersionEnsureACL(conn) < 0)
- return -1;
-
- umlDriverLock(driver);
-
- if (driver->umlVersion == 0) {
- uname(&ut);
-
- if (virParseVersionString(ut.release, &driver->umlVersion, true) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("cannot parse version %s"), ut.release);
- goto cleanup;
- }
- }
-
- *version = driver->umlVersion;
- ret = 0;
-
- cleanup:
- umlDriverUnlock(driver);
- return ret;
-}
-
-
-static char *umlConnectGetHostname(virConnectPtr conn)
-{
- if (virConnectGetHostnameEnsureACL(conn) < 0)
- return NULL;
-
- return virGetHostname();
-}
-
-
-static int umlConnectListDomains(virConnectPtr conn, int *ids, int nids)
-{
- struct uml_driver *driver = conn->privateData;
- int n;
-
- if (virConnectListDomainsEnsureACL(conn) < 0)
- return -1;
-
- umlDriverLock(driver);
- n = virDomainObjListGetActiveIDs(driver->domains, ids, nids,
- virConnectListDomainsCheckACL, conn);
- umlDriverUnlock(driver);
-
- return n;
-}
-static int umlConnectNumOfDomains(virConnectPtr conn)
-{
- struct uml_driver *driver = conn->privateData;
- int n;
-
- if (virConnectNumOfDomainsEnsureACL(conn) < 0)
- return -1;
-
- umlDriverLock(driver);
- n = virDomainObjListNumOfDomains(driver->domains, true,
- virConnectNumOfDomainsCheckACL, conn);
- umlDriverUnlock(driver);
-
- return n;
-}
-static virDomainPtr umlDomainCreateXML(virConnectPtr conn, const char *xml,
- unsigned int flags)
-{
- struct uml_driver *driver = conn->privateData;
- virDomainDefPtr def;
- virDomainObjPtr vm = NULL;
- virDomainPtr dom = NULL;
- virObjectEventPtr event = NULL;
- unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE;
-
- virCheckFlags(VIR_DOMAIN_START_AUTODESTROY |
- VIR_DOMAIN_START_VALIDATE, NULL);
-
- if (flags & VIR_DOMAIN_START_VALIDATE)
- parse_flags |= VIR_DOMAIN_DEF_PARSE_VALIDATE_SCHEMA;
-
- virNWFilterReadLockFilterUpdates();
- umlDriverLock(driver);
- if (!(def = virDomainDefParseString(xml, driver->caps, driver->xmlopt,
- NULL, parse_flags)))
- goto cleanup;
-
- if (virDomainCreateXMLEnsureACL(conn, def) < 0)
- goto cleanup;
-
- if (!(vm = virDomainObjListAdd(driver->domains, def,
- driver->xmlopt,
- VIR_DOMAIN_OBJ_LIST_ADD_LIVE |
- VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
- NULL)))
- goto cleanup;
- def = NULL;
-
- if (umlStartVMDaemon(conn, driver, vm,
- (flags & VIR_DOMAIN_START_AUTODESTROY)) < 0) {
- virDomainAuditStart(vm, "booted", false);
- if (!vm->persistent)
- virDomainObjListRemove(driver->domains, vm);
- goto cleanup;
- }
- virDomainAuditStart(vm, "booted", true);
- event = virDomainEventLifecycleNewFromObj(vm,
- VIR_DOMAIN_EVENT_STARTED,
- VIR_DOMAIN_EVENT_STARTED_BOOTED);
-
- dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
-
- cleanup:
- virDomainDefFree(def);
- virDomainObjEndAPI(&vm);
- virObjectEventStateQueue(driver->domainEventState, event);
- umlDriverUnlock(driver);
- virNWFilterUnlockFilterUpdates();
- return dom;
-}
-
-
-static int umlDomainShutdownFlags(virDomainPtr dom,
- unsigned int flags)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- char *info = NULL;
- int ret = -1;
-
- virCheckFlags(0, -1);
-
- if (!(vm = umlDomObjFromDomain(driver, dom->uuid)))
- return -1;
-
- if (virDomainShutdownFlagsEnsureACL(dom->conn, vm->def, flags) < 0)
- goto cleanup;
-
-#if 0
- if (umlMonitorCommand(driver, vm, "system_powerdown", &info) < 0) {
- virReportError(VIR_ERR_OPERATION_FAILED, "%s",
- _("shutdown operation failed"));
- goto cleanup;
- }
- ret = 0;
-#endif
-
- cleanup:
- VIR_FREE(info);
- virDomainObjEndAPI(&vm);
- return ret;
-}
-
-static int
-umlDomainShutdown(virDomainPtr dom)
-{
- return umlDomainShutdownFlags(dom, 0);
-}
-
-static int
-umlDomainDestroyFlags(virDomainPtr dom,
- unsigned int flags)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- virObjectEventPtr event = NULL;
- int ret = -1;
-
- virCheckFlags(0, -1);
-
- umlDriverLock(driver);
- if (!(vm = umlDomObjFromDomainLocked(driver, dom->uuid)))
- return -1;
-
- if (virDomainDestroyFlagsEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- umlShutdownVMDaemon(driver, vm, VIR_DOMAIN_SHUTOFF_DESTROYED);
- virDomainAuditStop(vm, "destroyed");
- event = virDomainEventLifecycleNewFromObj(vm,
- VIR_DOMAIN_EVENT_STOPPED,
- VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
- if (!vm->persistent)
- virDomainObjListRemove(driver->domains, vm);
- ret = 0;
-
- cleanup:
- virDomainObjEndAPI(&vm);
- virObjectEventStateQueue(driver->domainEventState, event);
- umlDriverUnlock(driver);
- return ret;
-}
-
-
-static int umlDomainDestroy(virDomainPtr dom)
-{
- return umlDomainDestroyFlags(dom, 0);
-}
-
-
-static char *umlDomainGetOSType(virDomainPtr dom) {
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- char *type = NULL;
-
- if (!(vm = umlDomObjFromDomain(driver, dom->uuid)))
- return NULL;
-
- if (virDomainGetOSTypeEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- if (VIR_STRDUP(type, virDomainOSTypeToString(vm->def->os.type)) < 0)
- goto cleanup;
-
- cleanup:
- virDomainObjEndAPI(&vm);
- return type;
-}
-
-/* Returns max memory in kb, 0 if error */
-static unsigned long long
-umlDomainGetMaxMemory(virDomainPtr dom)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- unsigned long long ret = 0;
-
- if (!(vm = umlDomObjFromDomain(driver, dom->uuid)))
- return -1;
-
- if (virDomainGetMaxMemoryEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- ret = virDomainDefGetMemoryTotal(vm->def);
-
- cleanup:
- virDomainObjEndAPI(&vm);
- return ret;
-}
-
-static int umlDomainSetMaxMemory(virDomainPtr dom, unsigned long newmax)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- int ret = -1;
-
- if (!(vm = umlDomObjFromDomain(driver, dom->uuid)))
- return -1;
-
- if (virDomainSetMaxMemoryEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- if (newmax < vm->def->mem.cur_balloon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("cannot set max memory lower than current memory"));
- goto cleanup;
- }
-
- virDomainDefSetMemoryTotal(vm->def, newmax);
- ret = 0;
-
- cleanup:
- virDomainObjEndAPI(&vm);
- return ret;
-}
-
-static int umlDomainSetMemory(virDomainPtr dom, unsigned long newmem)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- int ret = -1;
-
- if (!(vm = umlDomObjFromDomain(driver, dom->uuid)))
- return -1;
-
- if (virDomainSetMemoryEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- if (virDomainObjIsActive(vm)) {
- virReportError(VIR_ERR_OPERATION_INVALID, "%s",
- _("cannot set memory of an active domain"));
- goto cleanup;
- }
-
- if (newmem > virDomainDefGetMemoryTotal(vm->def)) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("cannot set memory higher than max memory"));
- goto cleanup;
- }
-
- vm->def->mem.cur_balloon = newmem;
- ret = 0;
-
- cleanup:
- virDomainObjEndAPI(&vm);
- return ret;
-}
-
-static int umlDomainGetInfo(virDomainPtr dom,
- virDomainInfoPtr info)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- int ret = -1;
-
- if (!(vm = umlDomObjFromDomain(driver, dom->uuid)))
- return -1;
-
- if (virDomainGetInfoEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- info->state = virDomainObjGetState(vm, NULL);
-
- if (!virDomainObjIsActive(vm)) {
- info->cpuTime = 0;
- } else {
- if (umlGetProcessInfo(&(info->cpuTime), vm->pid) < 0) {
- virReportError(VIR_ERR_OPERATION_FAILED, "%s",
- _("cannot read cputime for domain"));
- goto cleanup;
- }
- }
-
- info->maxMem = virDomainDefGetMemoryTotal(vm->def);
- info->memory = vm->def->mem.cur_balloon;
- info->nrVirtCpu = virDomainDefGetVcpus(vm->def);
- ret = 0;
-
- cleanup:
- virDomainObjEndAPI(&vm);
- return ret;
-}
-
-
-static int
-umlDomainGetState(virDomainPtr dom,
- int *state,
- int *reason,
- unsigned int flags)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- int ret = -1;
-
- virCheckFlags(0, -1);
-
- if (!(vm = umlDomObjFromDomain(driver, dom->uuid)))
- return -1;
-
- if (virDomainGetStateEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- *state = virDomainObjGetState(vm, reason);
- ret = 0;
-
- cleanup:
- virDomainObjEndAPI(&vm);
- return ret;
-}
-
-
-static char *umlDomainGetXMLDesc(virDomainPtr dom,
- unsigned int flags)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- char *ret = NULL;
-
- /* Flags checked by virDomainDefFormat */
-
- umlDriverLock(driver);
- if (!(vm = umlDomObjFromDomainLocked(driver, dom->uuid)))
- goto cleanup;
-
- if (virDomainGetXMLDescEnsureACL(dom->conn, vm->def, flags) < 0)
- goto cleanup;
-
- ret = virDomainDefFormat((flags & VIR_DOMAIN_XML_INACTIVE) && vm->newDef ?
- vm->newDef : vm->def, driver->caps,
- virDomainDefFormatConvertXMLFlags(flags));
-
- cleanup:
- virDomainObjEndAPI(&vm);
- return ret;
-}
-
-
-static int umlConnectListDefinedDomains(virConnectPtr conn,
- char **const names, int nnames) {
- struct uml_driver *driver = conn->privateData;
- int n;
-
- if (virConnectListDefinedDomainsEnsureACL(conn) < 0)
- return -1;
-
- umlDriverLock(driver);
- n = virDomainObjListGetInactiveNames(driver->domains, names, nnames,
- virConnectListDefinedDomainsCheckACL, conn);
- umlDriverUnlock(driver);
-
- return n;
-}
-
-static int umlConnectNumOfDefinedDomains(virConnectPtr conn)
-{
- struct uml_driver *driver = conn->privateData;
- int n;
-
- if (virConnectNumOfDefinedDomainsEnsureACL(conn) < 0)
- return -1;
-
- umlDriverLock(driver);
- n = virDomainObjListNumOfDomains(driver->domains, false,
- virConnectNumOfDefinedDomainsCheckACL, conn);
- umlDriverUnlock(driver);
-
- return n;
-}
-
-
-static int umlDomainCreateWithFlags(virDomainPtr dom, unsigned int flags)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- virObjectEventPtr event = NULL;
- int ret = -1;
-
- virCheckFlags(VIR_DOMAIN_START_AUTODESTROY, -1);
-
- virNWFilterReadLockFilterUpdates();
- umlDriverLock(driver);
- if (!(vm = umlDomObjFromDomainLocked(driver, dom->uuid)))
- goto cleanup;
-
- if (virDomainCreateWithFlagsEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- ret = umlStartVMDaemon(dom->conn, driver, vm,
- (flags & VIR_DOMAIN_START_AUTODESTROY));
- virDomainAuditStart(vm, "booted", ret >= 0);
- if (ret == 0)
- event = virDomainEventLifecycleNewFromObj(vm,
- VIR_DOMAIN_EVENT_STARTED,
- VIR_DOMAIN_EVENT_STARTED_BOOTED);
-
- cleanup:
- virDomainObjEndAPI(&vm);
- virObjectEventStateQueue(driver->domainEventState, event);
- umlDriverUnlock(driver);
- virNWFilterUnlockFilterUpdates();
- return ret;
-}
-
-static int umlDomainCreate(virDomainPtr dom)
-{
- return umlDomainCreateWithFlags(dom, 0);
-}
-
-static virDomainPtr
-umlDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
-{
- struct uml_driver *driver = conn->privateData;
- virDomainDefPtr def;
- virDomainObjPtr vm = NULL;
- virDomainPtr dom = NULL;
- unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE;
-
- virCheckFlags(VIR_DOMAIN_DEFINE_VALIDATE, NULL);
-
- if (flags & VIR_DOMAIN_DEFINE_VALIDATE)
- parse_flags |= VIR_DOMAIN_DEF_PARSE_VALIDATE_SCHEMA;
-
- umlDriverLock(driver);
- if (!(def = virDomainDefParseString(xml, driver->caps, driver->xmlopt,
- NULL, parse_flags)))
- goto cleanup;
-
- if (virXMLCheckIllegalChars("name", def->name, "\n") < 0)
- goto cleanup;
-
- if (virDomainDefineXMLFlagsEnsureACL(conn, def) < 0)
- goto cleanup;
-
- if (!(vm = virDomainObjListAdd(driver->domains, def,
- driver->xmlopt,
- 0, NULL)))
- goto cleanup;
- def = NULL;
- vm->persistent = 1;
-
- if (virDomainSaveConfig(driver->configDir, driver->caps,
- vm->newDef ? vm->newDef : vm->def) < 0) {
- virDomainObjListRemove(driver->domains, vm);
- goto cleanup;
- }
-
- dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
-
- cleanup:
- virDomainDefFree(def);
- virDomainObjEndAPI(&vm);
- umlDriverUnlock(driver);
- return dom;
-}
-
-static virDomainPtr
-umlDomainDefineXML(virConnectPtr conn, const char *xml)
-{
- return umlDomainDefineXMLFlags(conn, xml, 0);
-}
-
-static int umlDomainUndefineFlags(virDomainPtr dom,
- unsigned int flags)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- int ret = -1;
-
- virCheckFlags(0, -1);
-
- umlDriverLock(driver);
- if (!(vm = umlDomObjFromDomainLocked(driver, dom->uuid)))
- goto cleanup;
-
- if (virDomainUndefineFlagsEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- if (!vm->persistent) {
- virReportError(VIR_ERR_OPERATION_INVALID, "%s",
- _("cannot undefine transient domain"));
- goto cleanup;
- }
-
- if (virDomainDeleteConfig(driver->configDir, driver->autostartDir, vm) < 0)
- goto cleanup;
-
- if (virDomainObjIsActive(vm))
- vm->persistent = 0;
- else
- virDomainObjListRemove(driver->domains, vm);
-
- ret = 0;
-
- cleanup:
- virDomainObjEndAPI(&vm);
- umlDriverUnlock(driver);
- return ret;
-}
-
-
-static int umlDomainUndefine(virDomainPtr dom)
-{
- return umlDomainUndefineFlags(dom, 0);
-}
-
-static int umlDomainAttachUmlDisk(struct uml_driver *driver,
- virDomainObjPtr vm,
- virDomainDiskDefPtr disk)
-{
- size_t i;
- char *cmd = NULL;
- char *reply = NULL;
-
- for (i = 0; i < vm->def->ndisks; i++) {
- if (STREQ(vm->def->disks[i]->dst, disk->dst)) {
- virReportError(VIR_ERR_OPERATION_FAILED,
- _("target %s already exists"), disk->dst);
- return -1;
- }
- }
-
- if (!virDomainDiskGetSource(disk)) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("disk source path is missing"));
- goto error;
- }
-
- if (virAsprintf(&cmd, "config %s=%s", disk->dst,
- virDomainDiskGetSource(disk)) < 0)
- return -1;
-
- if (umlMonitorCommand(driver, vm, cmd, &reply) < 0)
- goto error;
-
- if (VIR_REALLOC_N(vm->def->disks, vm->def->ndisks+1) < 0)
- goto error;
-
- virDomainDiskInsertPreAlloced(vm->def, disk);
-
- VIR_FREE(reply);
- VIR_FREE(cmd);
-
- return 0;
-
- error:
-
- VIR_FREE(reply);
- VIR_FREE(cmd);
-
- return -1;
-}
-
-
-static int umlDomainAttachDevice(virDomainPtr dom, const char *xml)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- virDomainDeviceDefPtr dev = NULL;
- int ret = -1;
-
- umlDriverLock(driver);
-
- if (!(vm = umlDomObjFromDomainLocked(driver, dom->uuid)))
- goto cleanup;
-
- if (virDomainAttachDeviceEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- if (!virDomainObjIsActive(vm)) {
- virReportError(VIR_ERR_OPERATION_INVALID,
- "%s", _("cannot attach device on inactive domain"));
- goto cleanup;
- }
-
- dev = virDomainDeviceDefParse(xml, vm->def, driver->caps, driver->xmlopt,
- VIR_DOMAIN_DEF_PARSE_INACTIVE);
-
- if (dev == NULL)
- goto cleanup;
-
- if (dev->type == VIR_DOMAIN_DEVICE_DISK) {
- if (dev->data.disk->bus == VIR_DOMAIN_DISK_BUS_UML) {
- ret = umlDomainAttachUmlDisk(driver, vm, dev->data.disk);
- if (ret == 0)
- dev->data.disk = NULL;
- } else {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("disk bus '%s' cannot be hotplugged."),
- virDomainDiskBusTypeToString(dev->data.disk->bus));
- }
- } else {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("device type '%s' cannot be attached"),
- virDomainDeviceTypeToString(dev->type));
- goto cleanup;
- }
-
- cleanup:
-
- virDomainDeviceDefFree(dev);
- virDomainObjEndAPI(&vm);
- umlDriverUnlock(driver);
- return ret;
-}
-
-
-static int
-umlDomainAttachDeviceFlags(virDomainPtr dom,
- const char *xml,
- unsigned int flags)
-{
- virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1);
-
- if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
- virReportError(VIR_ERR_OPERATION_INVALID,
- "%s", _("cannot modify the persistent configuration of a domain"));
- return -1;
- }
-
- return umlDomainAttachDevice(dom, xml);
-}
-
-
-static int umlDomainDetachUmlDisk(struct uml_driver *driver,
- virDomainObjPtr vm,
- virDomainDeviceDefPtr dev)
-{
- size_t i;
- int ret = -1;
- virDomainDiskDefPtr detach = NULL;
- char *cmd;
- char *reply;
-
- for (i = 0; i < vm->def->ndisks; i++) {
- if (STREQ(vm->def->disks[i]->dst, dev->data.disk->dst))
- break;
- }
-
- if (i == vm->def->ndisks) {
- virReportError(VIR_ERR_OPERATION_FAILED,
- _("disk %s not found"), dev->data.disk->dst);
- return -1;
- }
-
- detach = vm->def->disks[i];
-
- if (virAsprintf(&cmd, "remove %s", detach->dst) < 0)
- return -1;
-
- if (umlMonitorCommand(driver, vm, cmd, &reply) < 0)
- goto cleanup;
-
- virDomainDiskRemove(vm->def, i);
-
- virDomainDiskDefFree(detach);
-
- ret = 0;
-
- VIR_FREE(reply);
-
- cleanup:
- VIR_FREE(cmd);
-
- return ret;
-}
-
-
-static int umlDomainDetachDevice(virDomainPtr dom, const char *xml)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- virDomainDeviceDefPtr dev = NULL;
- int ret = -1;
-
- umlDriverLock(driver);
- if (!(vm = umlDomObjFromDomainLocked(driver, dom->uuid)))
- goto cleanup;
-
- if (virDomainDetachDeviceEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- if (!virDomainObjIsActive(vm)) {
- virReportError(VIR_ERR_OPERATION_INVALID,
- "%s", _("cannot detach device on inactive domain"));
- goto cleanup;
- }
-
- dev = virDomainDeviceDefParse(xml, vm->def, driver->caps, driver->xmlopt,
- VIR_DOMAIN_DEF_PARSE_INACTIVE |
- VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE);
- if (dev == NULL)
- goto cleanup;
-
- if (dev->type == VIR_DOMAIN_DEVICE_DISK &&
- dev->data.disk->device == VIR_DOMAIN_DISK_DEVICE_DISK) {
- if (dev->data.disk->bus == VIR_DOMAIN_DISK_BUS_UML)
- ret = umlDomainDetachUmlDisk(driver, vm, dev);
- else
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("This type of disk cannot be hot unplugged"));
- } else {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- "%s", _("This type of device cannot be hot unplugged"));
- }
-
- cleanup:
- virDomainDeviceDefFree(dev);
- virDomainObjEndAPI(&vm);
- umlDriverUnlock(driver);
- return ret;
-}
-
-
-static int
-umlDomainDetachDeviceFlags(virDomainPtr dom,
- const char *xml,
- unsigned int flags)
-{
- virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1);
-
- if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
- virReportError(VIR_ERR_OPERATION_INVALID,
- "%s", _("cannot modify the persistent configuration of a domain"));
- return -1;
- }
-
- return umlDomainDetachDevice(dom, xml);
-}
-
-
-static int umlDomainGetAutostart(virDomainPtr dom,
- int *autostart)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- int ret = -1;
-
- umlDriverLock(driver);
- if (!(vm = umlDomObjFromDomainLocked(driver, dom->uuid)))
- goto cleanup;
-
- if (virDomainGetAutostartEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- *autostart = vm->autostart;
- ret = 0;
-
- cleanup:
- virDomainObjEndAPI(&vm);
- umlDriverUnlock(driver);
- return ret;
-}
-
-static int umlDomainSetAutostart(virDomainPtr dom,
- int autostart)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- char *configFile = NULL, *autostartLink = NULL;
- int ret = -1;
-
- umlDriverLock(driver);
- if (!(vm = umlDomObjFromDomainLocked(driver, dom->uuid)))
- goto cleanup;
-
- if (virDomainSetAutostartEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- if (!vm->persistent) {
- virReportError(VIR_ERR_OPERATION_INVALID, "%s",
- _("cannot set autostart for transient domain"));
- goto cleanup;
- }
-
- autostart = (autostart != 0);
-
- if (vm->autostart != autostart) {
- if ((configFile = virDomainConfigFile(driver->configDir, vm->def->name)) == NULL)
- goto cleanup;
- if ((autostartLink = virDomainConfigFile(driver->autostartDir, vm->def->name)) == NULL)
- goto cleanup;
-
- if (autostart) {
- if (virFileMakePath(driver->autostartDir) < 0) {
- virReportSystemError(errno,
- _("cannot create autostart directory %s"),
- driver->autostartDir);
- goto cleanup;
- }
-
- if (symlink(configFile, autostartLink) < 0) {
- virReportSystemError(errno,
- _("Failed to create symlink '%s to '%s'"),
- autostartLink, configFile);
- goto cleanup;
- }
- } else {
- if (unlink(autostartLink) < 0 && errno != ENOENT && errno != ENOTDIR) {
- virReportSystemError(errno,
- _("Failed to delete symlink '%s'"),
- autostartLink);
- goto cleanup;
- }
- }
-
- vm->autostart = autostart;
- }
- ret = 0;
-
- cleanup:
- VIR_FREE(configFile);
- VIR_FREE(autostartLink);
- virDomainObjEndAPI(&vm);
- umlDriverUnlock(driver);
- return ret;
-}
-
-
-static int
-umlDomainBlockPeek(virDomainPtr dom,
- const char *path,
- unsigned long long offset, size_t size,
- void *buffer,
- unsigned int flags)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm;
- int fd = -1, ret = -1;
- const char *actual;
-
- virCheckFlags(0, -1);
-
- if (!(vm = umlDomObjFromDomain(driver, dom->uuid)))
- return -1;
-
- if (virDomainBlockPeekEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- if (!path || path[0] == '\0') {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("NULL or empty path"));
- goto cleanup;
- }
-
- /* Check the path belongs to this domain. */
- if (!(actual = virDomainDiskPathByName(vm->def, path))) {
- virReportError(VIR_ERR_INVALID_ARG,
- _("invalid path '%s'"), path);
- goto cleanup;
- }
- path = actual;
-
- /* The path is correct, now try to open it and get its size. */
- fd = open(path, O_RDONLY);
- if (fd == -1) {
- virReportSystemError(errno,
- _("cannot open %s"), path);
- goto cleanup;
- }
-
- /* Seek and read. */
- /* NB. Because we configure with AC_SYS_LARGEFILE, off_t should
- * be 64 bits on all platforms.
- */
- if (lseek(fd, offset, SEEK_SET) == (off_t)-1 ||
- saferead(fd, buffer, size) == (ssize_t)-1) {
- virReportSystemError(errno,
- _("cannot read %s"), path);
- goto cleanup;
- }
-
- ret = 0;
-
- cleanup:
- VIR_FORCE_CLOSE(fd);
- virDomainObjEndAPI(&vm);
- return ret;
-}
-
-
-static int
-umlDomainOpenConsole(virDomainPtr dom,
- const char *dev_name,
- virStreamPtr st,
- unsigned int flags)
-{
- struct uml_driver *driver = dom->conn->privateData;
- virDomainObjPtr vm = NULL;
- int ret = -1;
- virDomainChrDefPtr chr = NULL;
- size_t i;
-
- virCheckFlags(0, -1);
-
- umlDriverLock(driver);
- if (!(vm = umlDomObjFromDomainLocked(driver, dom->uuid)))
- goto cleanup;
-
- if (virDomainOpenConsoleEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- if (virDomainObjCheckActive(vm) < 0)
- goto cleanup;
-
- if (dev_name) {
- for (i = 0; i < vm->def->nconsoles; i++) {
- if (vm->def->consoles[i]->info.alias &&
- STREQ(vm->def->consoles[i]->info.alias, dev_name)) {
- chr = vm->def->consoles[i];
- break;
- }
- }
- } else {
- if (vm->def->nconsoles)
- chr = vm->def->consoles[0];
- else if (vm->def->nserials)
- chr = vm->def->serials[0];
- }
-
- if (!chr) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("cannot find console device '%s'"),
- dev_name ? dev_name : _("default"));
- goto cleanup;
- }
-
- if (chr->source->type != VIR_DOMAIN_CHR_TYPE_PTY) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("character device %s is not using a PTY"),
- dev_name ? dev_name : NULLSTR(chr->info.alias));
- goto cleanup;
- }
-
- if (virFDStreamOpenFile(st, chr->source->data.file.path,
- 0, 0, O_RDWR) < 0)
- goto cleanup;
-
- ret = 0;
- cleanup:
- virDomainObjEndAPI(&vm);
- umlDriverUnlock(driver);
- return ret;
-}
-
-
-static int
-umlConnectDomainEventRegister(virConnectPtr conn,
- virConnectDomainEventCallback callback,
- void *opaque,
- virFreeCallback freecb)
-{
- struct uml_driver *driver = conn->privateData;
- int ret = 0;
-
- if (virConnectDomainEventRegisterEnsureACL(conn) < 0)
- return -1;
-
- umlDriverLock(driver);
- if (virDomainEventStateRegister(conn,
- driver->domainEventState,
- callback, opaque, freecb) < 0)
- ret = -1;
- umlDriverUnlock(driver);
-
- return ret;
-}
-
-static int
-umlConnectDomainEventDeregister(virConnectPtr conn,
- virConnectDomainEventCallback callback)
-{
- struct uml_driver *driver = conn->privateData;
- int ret = 0;
-
- if (virConnectDomainEventDeregisterEnsureACL(conn) < 0)
- return -1;
-
- umlDriverLock(driver);
- if (virDomainEventStateDeregister(conn,
- driver->domainEventState,
- callback) < 0)
- ret = -1;
- umlDriverUnlock(driver);
-
- return ret;
-}
-
-static int
-umlConnectDomainEventRegisterAny(virConnectPtr conn,
- virDomainPtr dom,
- int eventID,
- virConnectDomainEventGenericCallback callback,
- void *opaque,
- virFreeCallback freecb)
-{
- struct uml_driver *driver = conn->privateData;
- int ret;
-
- if (virConnectDomainEventRegisterAnyEnsureACL(conn) < 0)
- return -1;
-
- umlDriverLock(driver);
- if (virDomainEventStateRegisterID(conn,
- driver->domainEventState,
- dom, eventID,
- callback, opaque, freecb, &ret) < 0)
- ret = -1;
- umlDriverUnlock(driver);
-
- return ret;
-}
-
-
-static int
-umlConnectDomainEventDeregisterAny(virConnectPtr conn,
- int callbackID)
-{
- struct uml_driver *driver = conn->privateData;
- int ret = 0;
-
- if (virConnectDomainEventDeregisterAnyEnsureACL(conn) < 0)
- return -1;
-
- umlDriverLock(driver);
- if (virObjectEventStateDeregisterID(conn,
- driver->domainEventState,
- callbackID, true) < 0)
- ret = -1;
- umlDriverUnlock(driver);
-
- return ret;
-}
-
-
-static int umlConnectListAllDomains(virConnectPtr conn,
- virDomainPtr **domains,
- unsigned int flags)
-{
- struct uml_driver *driver = conn->privateData;
- int ret = -1;
-
- virCheckFlags(VIR_CONNECT_LIST_DOMAINS_FILTERS_ALL, -1);
-
- if (virConnectListAllDomainsEnsureACL(conn) < 0)
- return -1;
-
- umlDriverLock(driver);
- ret = virDomainObjListExport(driver->domains, conn, domains,
- virConnectListAllDomainsCheckACL, flags);
- umlDriverUnlock(driver);
-
- return ret;
-}
-
-
-static int
-umlNodeGetInfo(virConnectPtr conn,
- virNodeInfoPtr nodeinfo)
-{
- if (virNodeGetInfoEnsureACL(conn) < 0)
- return -1;
-
- return virCapabilitiesGetNodeInfo(nodeinfo);
-}
-
-
-static int
-umlNodeGetCPUStats(virConnectPtr conn,
- int cpuNum,
- virNodeCPUStatsPtr params,
- int *nparams,
- unsigned int flags)
-{
- if (virNodeGetCPUStatsEnsureACL(conn) < 0)
- return -1;
-
- return virHostCPUGetStats(cpuNum, params, nparams, flags);
-}
-
-
-static int
-umlNodeGetMemoryStats(virConnectPtr conn,
- int cellNum,
- virNodeMemoryStatsPtr params,
- int *nparams,
- unsigned int flags)
-{
- if (virNodeGetMemoryStatsEnsureACL(conn) < 0)
- return -1;
-
- return virHostMemGetStats(cellNum, params, nparams, flags);
-}
-
-
-static int
-umlNodeGetCellsFreeMemory(virConnectPtr conn,
- unsigned long long *freeMems,
- int startCell,
- int maxCells)
-{
- if (virNodeGetCellsFreeMemoryEnsureACL(conn) < 0)
- return -1;
-
- return virHostMemGetCellsFree(freeMems, startCell, maxCells);
-}
-
-
-static unsigned long long
-umlNodeGetFreeMemory(virConnectPtr conn)
-{
- unsigned long long freeMem;
-
- if (virNodeGetFreeMemoryEnsureACL(conn) < 0)
- return 0;
-
- if (virHostMemGetInfo(NULL, &freeMem) < 0)
- return 0;
-
- return freeMem;
-}
-
-
-static int
-umlNodeGetMemoryParameters(virConnectPtr conn,
- virTypedParameterPtr params,
- int *nparams,
- unsigned int flags)
-{
- if (virNodeGetMemoryParametersEnsureACL(conn) < 0)
- return -1;
-
- return virHostMemGetParameters(params, nparams, flags);
-}
-
-
-static int
-umlNodeSetMemoryParameters(virConnectPtr conn,
- virTypedParameterPtr params,
- int nparams,
- unsigned int flags)
-{
- if (virNodeSetMemoryParametersEnsureACL(conn) < 0)
- return -1;
-
- return virHostMemSetParameters(params, nparams, flags);
-}
-
-
-static int
-umlNodeGetCPUMap(virConnectPtr conn,
- unsigned char **cpumap,
- unsigned int *online,
- unsigned int flags)
-{
- if (virNodeGetCPUMapEnsureACL(conn) < 0)
- return -1;
-
- return virHostCPUGetMap(cpumap, online, flags);
-}
-
-
-static int
-umlNodeSuspendForDuration(virConnectPtr conn,
- unsigned int target,
- unsigned long long duration,
- unsigned int flags)
-{
- if (virNodeSuspendForDurationEnsureACL(conn) < 0)
- return -1;
-
- return virNodeSuspend(target, duration, flags);
-}
-
-
-static int
-umlNodeGetFreePages(virConnectPtr conn,
- unsigned int npages,
- unsigned int *pages,
- int startCell,
- unsigned int cellCount,
- unsigned long long *counts,
- unsigned int flags)
-{
- virCheckFlags(0, -1);
-
- if (virNodeGetFreePagesEnsureACL(conn) < 0)
- return -1;
-
- return virHostMemGetFreePages(npages, pages, startCell, cellCount, counts);
-}
-
-
-static int
-umlNodeAllocPages(virConnectPtr conn,
- unsigned int npages,
- unsigned int *pageSizes,
- unsigned long long *pageCounts,
- int startCell,
- unsigned int cellCount,
- unsigned int flags)
-{
- bool add = !(flags & VIR_NODE_ALLOC_PAGES_SET);
-
- virCheckFlags(VIR_NODE_ALLOC_PAGES_SET, -1);
-
- if (virNodeAllocPagesEnsureACL(conn) < 0)
- return -1;
-
- return virHostMemAllocPages(npages, pageSizes, pageCounts,
- startCell, cellCount, add);
-}
-
-
-static int
-umlDomainHasManagedSaveImage(virDomainPtr dom, unsigned int flags)
-{
- struct uml_driver *driver = dom->conn->privateData;
- int ret = -1;
- virDomainObjPtr vm;
-
- virCheckFlags(0, -1);
-
- if (!(vm = umlDomObjFromDomain(driver, dom->uuid)))
- return -1;
-
- if (virDomainHasManagedSaveImageEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
- ret = 0;
-
- cleanup:
- virDomainObjEndAPI(&vm);
- return ret;
-}
-
-
-static virHypervisorDriver umlHypervisorDriver = {
- .name = "UML",
- .connectURIProbe = umlConnectURIProbe,
- .connectOpen = umlConnectOpen, /* 0.5.0 */
- .connectClose = umlConnectClose, /* 0.5.0 */
- .connectGetType = umlConnectGetType, /* 0.5.0 */
- .connectGetVersion = umlConnectGetVersion, /* 0.5.0 */
- .connectGetHostname = umlConnectGetHostname, /* 0.5.0 */
- .nodeGetInfo = umlNodeGetInfo, /* 0.5.0 */
- .connectGetCapabilities = umlConnectGetCapabilities, /* 0.5.0 */
- .connectListDomains = umlConnectListDomains, /* 0.5.0 */
- .connectNumOfDomains = umlConnectNumOfDomains, /* 0.5.0 */
- .connectListAllDomains = umlConnectListAllDomains, /* 0.9.13 */
- .domainCreateXML = umlDomainCreateXML, /* 0.5.0 */
- .domainLookupByID = umlDomainLookupByID, /* 0.5.0 */
- .domainLookupByUUID = umlDomainLookupByUUID, /* 0.5.0 */
- .domainLookupByName = umlDomainLookupByName, /* 0.5.0 */
- .domainShutdown = umlDomainShutdown, /* 0.5.0 */
- .domainShutdownFlags = umlDomainShutdownFlags, /* 0.9.10 */
- .domainDestroy = umlDomainDestroy, /* 0.5.0 */
- .domainDestroyFlags = umlDomainDestroyFlags, /* 0.9.4 */
- .domainGetOSType = umlDomainGetOSType, /* 0.5.0 */
- .domainGetMaxMemory = umlDomainGetMaxMemory, /* 0.5.0 */
- .domainSetMaxMemory = umlDomainSetMaxMemory, /* 0.5.0 */
- .domainSetMemory = umlDomainSetMemory, /* 0.5.0 */
- .domainGetInfo = umlDomainGetInfo, /* 0.5.0 */
- .domainGetState = umlDomainGetState, /* 0.9.2 */
- .domainGetXMLDesc = umlDomainGetXMLDesc, /* 0.5.0 */
- .connectListDefinedDomains = umlConnectListDefinedDomains, /* 0.5.0 */
- .connectNumOfDefinedDomains = umlConnectNumOfDefinedDomains, /* 0.5.0 */
- .domainCreate = umlDomainCreate, /* 0.5.0 */
- .domainCreateWithFlags = umlDomainCreateWithFlags, /* 0.8.2 */
- .domainDefineXML = umlDomainDefineXML, /* 0.5.0 */
- .domainDefineXMLFlags = umlDomainDefineXMLFlags, /* 1.2.12 */
- .domainUndefine = umlDomainUndefine, /* 0.5.0 */
- .domainUndefineFlags = umlDomainUndefineFlags, /* 0.9.4 */
- .domainAttachDevice = umlDomainAttachDevice, /* 0.8.4 */
- .domainAttachDeviceFlags = umlDomainAttachDeviceFlags, /* 0.8.4 */
- .domainDetachDevice = umlDomainDetachDevice, /* 0.8.4 */
- .domainDetachDeviceFlags = umlDomainDetachDeviceFlags, /* 0.8.4 */
- .domainGetAutostart = umlDomainGetAutostart, /* 0.5.0 */
- .domainSetAutostart = umlDomainSetAutostart, /* 0.5.0 */
- .domainBlockPeek = umlDomainBlockPeek, /* 0.5.0 */
- .nodeGetCPUStats = umlNodeGetCPUStats, /* 0.9.3 */
- .nodeGetMemoryStats = umlNodeGetMemoryStats, /* 0.9.3 */
- .nodeGetCellsFreeMemory = umlNodeGetCellsFreeMemory, /* 0.5.0 */
- .nodeGetFreeMemory = umlNodeGetFreeMemory, /* 0.5.0 */
- .nodeGetCPUMap = umlNodeGetCPUMap, /* 1.0.0 */
- .connectDomainEventRegister = umlConnectDomainEventRegister, /* 0.9.4 */
- .connectDomainEventDeregister = umlConnectDomainEventDeregister, /* 0.9.4 */
- .connectIsEncrypted = umlConnectIsEncrypted, /* 0.7.3 */
- .connectIsSecure = umlConnectIsSecure, /* 0.7.3 */
- .domainIsActive = umlDomainIsActive, /* 0.7.3 */
- .domainIsPersistent = umlDomainIsPersistent, /* 0.7.3 */
- .domainIsUpdated = umlDomainIsUpdated, /* 0.8.6 */
- .connectDomainEventRegisterAny = umlConnectDomainEventRegisterAny, /* 0.9.4 */
- .connectDomainEventDeregisterAny = umlConnectDomainEventDeregisterAny, /* 0.9.4 */
- .domainOpenConsole = umlDomainOpenConsole, /* 0.8.6 */
- .connectIsAlive = umlConnectIsAlive, /* 0.9.8 */
- .nodeSuspendForDuration = umlNodeSuspendForDuration, /* 0.9.8 */
- .nodeGetMemoryParameters = umlNodeGetMemoryParameters, /* 0.10.2 */
- .nodeSetMemoryParameters = umlNodeSetMemoryParameters, /* 0.10.2 */
- .nodeGetFreePages = umlNodeGetFreePages, /* 1.2.6 */
- .nodeAllocPages = umlNodeAllocPages, /* 1.2.9 */
- .domainHasManagedSaveImage = umlDomainHasManagedSaveImage, /* 1.2.13 */
-};
-
-static virConnectDriver umlConnectDriver = {
- .localOnly = true,
- .uriSchemes = (const char *[]){ "uml", NULL },
- .hypervisorDriver = ¨HypervisorDriver,
-};
-
-static virStateDriver umlStateDriver = {
- .name = "UML",
- .stateInitialize = umlStateInitialize,
- .stateAutoStart = umlStateAutoStart,
- .stateCleanup = umlStateCleanup,
- .stateReload = umlStateReload,
-};
-
-int umlRegister(void)
-{
- if (virRegisterConnectDriver(¨ConnectDriver,
- true) < 0)
- return -1;
- if (virRegisterStateDriver(¨StateDriver) < 0)
- return -1;
- return 0;
-}
diff --git a/src/uml/uml_driver.h b/src/uml/uml_driver.h
deleted file mode 100644
index 3a258f6658..0000000000
--- a/src/uml/uml_driver.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * uml_driver.h: user mode Linux driver
- *
- * Copyright (C) 2006, 2007 Red Hat, Inc.
- * Copyright (C) 2006-2008 Daniel P. Berrange
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-
-#ifndef LIBVIRT_UML_DRIVER_H
-# define LIBVIRT_UML_DRIVER_H
-
-# include "internal.h"
-
-int umlRegister(void);
-
-#endif /* LIBVIRT_UML_DRIVER_H */
diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c
index 664650f217..5749e5d9cf 100644
--- a/src/vbox/vbox_common.c
+++ b/src/vbox/vbox_common.c
@@ -1134,7 +1134,6 @@ vboxAttachDrives(virDomainDefPtr def, vboxDriverPtr data, IMachine *machine)
case VIR_DOMAIN_DISK_BUS_VIRTIO:
case VIR_DOMAIN_DISK_BUS_XEN:
case VIR_DOMAIN_DISK_BUS_USB:
- case VIR_DOMAIN_DISK_BUS_UML:
case VIR_DOMAIN_DISK_BUS_SD:
case VIR_DOMAIN_DISK_BUS_LAST:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
diff --git a/tests/domaincapsschemadata/basic.xml b/tests/domaincapsschemadata/basic.xml
deleted file mode 100644
index 7bf4e56ae0..0000000000
--- a/tests/domaincapsschemadata/basic.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<domainCapabilities>
- <path>/bin/emulatorbin</path>
- <domain>uml</domain>
- <machine>my-machine-type</machine>
- <arch>x86_64</arch>
- <iothreads supported='no'/>
- <os supported='no'/>
- <cpu>
- <mode name='host-passthrough' supported='no'/>
- <mode name='host-model' supported='no'/>
- <mode name='custom' supported='no'/>
- </cpu>
- <devices>
- <disk supported='no'/>
- <graphics supported='no'/>
- <video supported='no'/>
- <hostdev supported='no'/>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='no'/>
- <genid supported='no'/>
- <sev supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsschemadata/full.xml b/tests/domaincapsschemadata/full.xml
index eafba1ae5b..c8273ad0bf 100644
--- a/tests/domaincapsschemadata/full.xml
+++ b/tests/domaincapsschemadata/full.xml
@@ -47,7 +47,6 @@
<value>virtio</value>
<value>xen</value>
<value>usb</value>
- <value>uml</value>
<value>sata</value>
<value>sd</value>
</enum>
diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c
index ea4e57d118..7f52058bad 100644
--- a/tests/domaincapstest.c
+++ b/tests/domaincapstest.c
@@ -409,8 +409,6 @@ mymain(void)
ret = -1; \
} while (0)
- DO_TEST("basic", "/bin/emulatorbin", "my-machine-type",
- "x86_64", VIR_DOMAIN_VIRT_UML, CAPS_NONE);
DO_TEST("full", "/bin/emulatorbin", "my-machine-type",
"x86_64", VIR_DOMAIN_VIRT_KVM, CAPS_ALL);
diff --git a/tests/objectlocking.ml b/tests/objectlocking.ml
index 778e67cffd..6726d29e73 100644
--- a/tests/objectlocking.ml
+++ b/tests/objectlocking.ml
@@ -121,7 +121,6 @@ let driverLockMethods = [
"openvzDriverLock";
"testDriverLock";
"lxcDriverLock";
- "umlDriverLock";
"nodedevDriverLock";
"networkDriverLock";
"storageDriverLock";
@@ -136,7 +135,6 @@ let driverUnlockMethods = [
"openvzDriverUnlock";
"testDriverUnlock";
"lxcDriverUnlock";
- "umlDriverUnlock";
"nodedevDriverUnlock";
"networkDriverUnlock";
"storageDriverUnlock";
@@ -153,7 +151,6 @@ let lockableDrivers = [
"openvz_driver";
"testConnPtr";
"lxc_driver_t";
- "uml_driver";
"virStorageDriverStatePtr";
"network_driver";
"virNodeDeviceState";
diff --git a/tests/virdrivermoduletest.c b/tests/virdrivermoduletest.c
index 7e9dced87e..0d753cd0ee 100644
--- a/tests/virdrivermoduletest.c
+++ b/tests/virdrivermoduletest.c
@@ -89,9 +89,6 @@ mymain(void)
#ifdef WITH_LXC
TEST("lxc");
#endif
-#ifdef WITH_UML
- TEST("uml");
-#endif
#ifdef WITH_VBOX
TEST("vbox");
#endif
diff --git a/tools/virsh.c b/tools/virsh.c
index 09fa0f8a67..8428e539f6 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -518,9 +518,6 @@ virshShowVersion(vshControl *ctl ATTRIBUTE_UNUSED)
#ifdef WITH_LXC
vshPrint(ctl, " LXC");
#endif
-#ifdef WITH_UML
- vshPrint(ctl, " UML");
-#endif
#ifdef WITH_LIBXL
vshPrint(ctl, " LibXL");
#endif
--
2.19.2
2
5
14 Dec '18
A missing $(AM_V_GEN) meant the raw command was printed by
mistake.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
Pushed as a trivial change
cfg.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cfg.mk b/cfg.mk
index c739edf604..4da6dc8f6e 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -1149,7 +1149,7 @@ test-wrap-argv:
$(PERL) $(top_srcdir)/tests/test-wrap-argv.pl --check $$files
group-qemu-caps:
- $(PERL) $(top_srcdir)/tests/group-qemu-caps.pl --check $(top_srcdir)/
+ $(AM_V_GEN)$(PERL) $(top_srcdir)/tests/group-qemu-caps.pl --check $(top_srcdir)/
# sc_po_check can fail if generated files are not built first
sc_po_check: \
--
2.19.2
1
0
[libvirt] [PATCH] Fix header ifdef check for config-post.h in VPATH build
by Daniel P. Berrangé 14 Dec '18
by Daniel P. Berrangé 14 Dec '18
14 Dec '18
We must do a substring match, not an exact match since
there can be an arbitrary virtual path prepended.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
Pushed as a build fix
build-aux/header-ifdef.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build-aux/header-ifdef.pl b/build-aux/header-ifdef.pl
index 74b4c0246b..ccabf14055 100644
--- a/build-aux/header-ifdef.pl
+++ b/build-aux/header-ifdef.pl
@@ -85,7 +85,7 @@ while (<>) {
}
if ($mistake ||
- $ARGV eq "config-post.h" ||
+ $ARGV =~ /config-post\.h$/ ||
$ARGV =~ /vbox_(CAPI|XPCOM)/) {
$state = $STATE_EOF;
next;
--
2.19.2
1
0
[libvirt] [PATCH] remote: Fix the build by explicitly casting the obj pointer for xdr_free
by Erik Skultety 14 Dec '18
by Erik Skultety 14 Dec '18
14 Dec '18
For some reason, xdr_free uses char * instead of void * for its 2nd
argument which is passed to a custom free routine. Commit
dc54b3ec missed this detail which made the build fail on a number of
platforms. Fix it by explicitly casting the object pointer to char *
just like we do in other places throughout the code base.
Signed-off-by: Erik Skultety <eskultet(a)redhat.com>
---
Pushed under the build breaker rule.
src/remote/remote_daemon_dispatch.c | 66 ++++++++++++++---------------
1 file changed, 33 insertions(+), 33 deletions(-)
diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon_dispatch.c
index c087197634..51bc055564 100644
--- a/src/remote/remote_daemon_dispatch.c
+++ b/src/remote/remote_daemon_dispatch.c
@@ -337,7 +337,7 @@ remoteRelayDomainEventLifecycle(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_lifecycle_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -378,7 +378,7 @@ remoteRelayDomainEventReboot(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_reboot_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -423,7 +423,7 @@ remoteRelayDomainEventRTCChange(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_rtc_change_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -467,7 +467,7 @@ remoteRelayDomainEventWatchdog(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_watchdog_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -516,7 +516,7 @@ remoteRelayDomainEventIOError(virConnectPtr conn,
return 0;
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_io_error_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -569,7 +569,7 @@ remoteRelayDomainEventIOErrorReason(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_io_error_reason_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -643,7 +643,7 @@ remoteRelayDomainEventGraphics(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_graphics_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -691,7 +691,7 @@ remoteRelayDomainEventBlockJob(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_block_job_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -733,7 +733,7 @@ remoteRelayDomainEventControlError(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_control_error_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -797,7 +797,7 @@ remoteRelayDomainEventDiskChange(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_disk_change_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -846,7 +846,7 @@ remoteRelayDomainEventTrayChange(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_tray_change_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -888,7 +888,7 @@ remoteRelayDomainEventPMWakeup(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_pmwakeup_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -930,7 +930,7 @@ remoteRelayDomainEventPMSuspend(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_pmsuspend_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -973,7 +973,7 @@ remoteRelayDomainEventBalloonChange(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_balloon_change_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1016,7 +1016,7 @@ remoteRelayDomainEventPMSuspendDisk(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_pmsuspend_disk_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1064,7 +1064,7 @@ remoteRelayDomainEventDeviceRemoved(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_device_removed_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1105,7 +1105,7 @@ remoteRelayDomainEventBlockJob2(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_block_job_2_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1150,7 +1150,7 @@ remoteRelayDomainEventTunable(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_callback_tunable_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1191,7 +1191,7 @@ remoteRelayDomainEventAgentLifecycle(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_callback_agent_lifecycle_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1231,7 +1231,7 @@ remoteRelayDomainEventDeviceAdded(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_callback_device_added_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1270,7 +1270,7 @@ remoteRelayDomainEventMigrationIteration(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_callback_migration_iteration_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1315,7 +1315,7 @@ remoteRelayDomainEventJobCompleted(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_callback_job_completed_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1355,7 +1355,7 @@ remoteRelayDomainEventDeviceRemovalFailed(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_callback_device_removal_failed_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1405,7 +1405,7 @@ remoteRelayDomainEventMetadataChange(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_callback_metadata_change_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1453,7 +1453,7 @@ remoteRelayDomainEventBlockThreshold(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_domain_event_block_threshold_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1521,7 +1521,7 @@ remoteRelayNetworkEventLifecycle(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_network_event_lifecycle_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1565,7 +1565,7 @@ remoteRelayStoragePoolEventLifecycle(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_storage_pool_event_lifecycle_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1599,7 +1599,7 @@ remoteRelayStoragePoolEventRefresh(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_storage_pool_event_refresh_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1644,7 +1644,7 @@ remoteRelayNodeDeviceEventLifecycle(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_node_device_event_lifecycle_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1678,7 +1678,7 @@ remoteRelayNodeDeviceEventUpdate(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_node_device_event_update_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1723,7 +1723,7 @@ remoteRelaySecretEventLifecycle(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_secret_event_lifecycle_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1757,7 +1757,7 @@ remoteRelaySecretEventValueChanged(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_remote_secret_event_value_changed_msg,
- &data);
+ (char *) &data);
return -1;
}
@@ -1812,7 +1812,7 @@ remoteRelayDomainQemuMonitorEvent(virConnectPtr conn,
error:
xdr_free((xdrproc_t)xdr_qemu_domain_monitor_event_msg,
- &data);
+ (char *) &data);
return;
}
--
2.19.2
2
3
[libvirt] [PATCH v2 0/9] util: error: Reformat error messages and add tests
by Peter Krempa 14 Dec '18
by Peter Krempa 14 Dec '18
14 Dec '18
V2 fixes gettext and simplifies some parts. Patch 4/9 is new and the
last two were dropped in comparison to v1.
Peter Krempa (9):
include: error: Add enum sentinel for virErrorNumber enum
util: error: Fix error message strings to play well with additional
info
util: error: Add error message versions with info for some error codes
util: error: Reword some unused error messages
util: error: Export virErrorMsg for use in testsuite
tests: Add test for virErrorMsg message constraints
util: error: Improve docs for virErrorMsg
DO NOT PUSH: Make sure that error messages are not moved around
util: error: Put error code messages into an array
include/libvirt/virterror.h | 5 +
src/libvirt_private.syms | 2 +
src/util/Makefile.inc.am | 1 +
src/util/virerror.c | 738 +++++++-----------------------------
src/util/virerrorpriv.h | 28 ++
tests/Makefile.am | 6 +
tests/virerrormessages.txt | 101 +++++
tests/virerrortest.c | 126 ++++++
8 files changed, 405 insertions(+), 602 deletions(-)
create mode 100644 src/util/virerrorpriv.h
create mode 100644 tests/virerrormessages.txt
create mode 100644 tests/virerrortest.c
--
2.19.2
2
13
add more configure options for NVDIMM
Signed-off-by: Luyao Zhong <luyao.zhong(a)intel.com>
---
docs/news.xml | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/docs/news.xml b/docs/news.xml
index 5bdbd34..0112c91 100644
--- a/docs/news.xml
+++ b/docs/news.xml
@@ -38,6 +38,15 @@
would normally prevent QEMU from accessing such a device.
</description>
</change>
+ <change>
+ <summary>
+ NVDIMM: support more configurations
+ </summary>
+ <description>
+ Introduce more configuration options supported by QEMU community,
+ including 'alignsize', 'pmem', 'unarmed' and 'persistence'.
+ </description>
+ </change>
</section>
<section title="Bug fixes">
</section>
--
2.7.4
2
2
[libvirt] [RFC v3 3/4] nvdimm: update qemu command-line generating for NVDIMM memory
by Luyao Zhong 14 Dec '18
by Luyao Zhong 14 Dec '18
14 Dec '18
According to the result parsing from xml, add corresponding properties
into QEMU command line, including 'align', 'pmem' and 'unarmed'.
Signed-off-by: Luyao Zhong <luyao.zhong(a)intel.com>
---
src/qemu/qemu_command.c | 32 ++++++++++++++++++++++
.../memory-hotplug-nvdimm-align.args | 31 +++++++++++++++++++++
.../memory-hotplug-nvdimm-pmem.args | 31 +++++++++++++++++++++
.../memory-hotplug-nvdimm-unarmed.args | 31 +++++++++++++++++++++
tests/qemuxml2argvtest.c | 11 ++++++++
5 files changed, 136 insertions(+)
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.args
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.args
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.args
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 32ed83f..73600b7 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -3400,6 +3400,34 @@ qemuBuildMemoryBackendProps(virJSONValuePtr *backendProps,
if (virJSONValueObjectAdd(props, "U:size", mem->size * 1024, NULL) < 0)
goto cleanup;
+ if (mem->alignsize) {
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_FILE_ALIGN)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("align property is not available "
+ "with this QEMU binary"));
+ goto cleanup;
+ }
+ if (virJSONValueObjectAdd(props,
+ "U:align",
+ mem->alignsize * 1024,
+ NULL) < 0)
+ goto cleanup;
+ }
+
+ if (mem->nvdimmPmem) {
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_FILE_PMEM)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("pmem property is not available "
+ "with this QEMU binary"));
+ goto cleanup;
+ }
+ if (virJSONValueObjectAdd(props,
+ "s:pmem",
+ mem->nvdimmPmem ? "on" : "off",
+ NULL) < 0)
+ goto cleanup;
+ }
+
if (mem->sourceNodes) {
nodemask = mem->sourceNodes;
} else {
@@ -3569,6 +3597,10 @@ qemuBuildMemoryDeviceStr(virDomainMemoryDefPtr mem)
if (mem->labelsize)
virBufferAsprintf(&buf, "label-size=%llu,", mem->labelsize * 1024);
+ if (mem->nvdimmUnarmed)
+ virBufferAsprintf(&buf, "unarmed=%s,",
+ mem->nvdimmUnarmed ? "on" : "off");
+
virBufferAsprintf(&buf, "memdev=mem%s,id=%s",
mem->info.alias, mem->info.alias);
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.args
new file mode 100644
index 0000000..432f622
--- /dev/null
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.args
@@ -0,0 +1,31 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-i686 \
+-name QEMUGuest1 \
+-S \
+-machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-m size=219136k,slots=16,maxmem=1099511627776k \
+-smp 2,sockets=2,cores=1,threads=1 \
+-numa node,nodeid=0,cpus=0-1,mem=214 \
+-object memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/tmp/nvdimm,\
+share=no,size=536870912,align=2097152 \
+-device nvdimm,node=0,memdev=memnvdimm0,id=nvdimm0,slot=0 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-no-acpi \
+-usb \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,\
+bootindex=1 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.args
new file mode 100644
index 0000000..d34ac5b
--- /dev/null
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.args
@@ -0,0 +1,31 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-i686 \
+-name QEMUGuest1 \
+-S \
+-machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-m size=219136k,slots=16,maxmem=1099511627776k \
+-smp 2,sockets=2,cores=1,threads=1 \
+-numa node,nodeid=0,cpus=0-1,mem=214 \
+-object memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/tmp/nvdimm,\
+share=no,size=536870912,pmem=on \
+-device nvdimm,node=0,memdev=memnvdimm0,id=nvdimm0,slot=0 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-no-acpi \
+-usb \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,\
+bootindex=1 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.args
new file mode 100644
index 0000000..64dcc5a
--- /dev/null
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.args
@@ -0,0 +1,31 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-i686 \
+-name QEMUGuest1 \
+-S \
+-machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-m size=219136k,slots=16,maxmem=1099511627776k \
+-smp 2,sockets=2,cores=1,threads=1 \
+-numa node,nodeid=0,cpus=0-1,mem=214 \
+-object memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/tmp/nvdimm,\
+share=no,size=536870912 \
+-device nvdimm,node=0,unarmed=on,memdev=memnvdimm0,id=nvdimm0,slot=0 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-no-acpi \
+-usb \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,\
+bootindex=1 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index e17709e..8be62a0 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -2757,6 +2757,17 @@ mymain(void)
DO_TEST("memory-hotplug-nvdimm-label",
QEMU_CAPS_DEVICE_NVDIMM,
QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM, QEMU_CAPS_OBJECT_MEMORY_FILE);
+ DO_TEST("memory-hotplug-nvdimm-align",
+ QEMU_CAPS_DEVICE_NVDIMM,
+ QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM, QEMU_CAPS_OBJECT_MEMORY_FILE,
+ QEMU_CAPS_OBJECT_MEMORY_FILE_ALIGN);
+ DO_TEST("memory-hotplug-nvdimm-pmem",
+ QEMU_CAPS_DEVICE_NVDIMM,
+ QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM, QEMU_CAPS_OBJECT_MEMORY_FILE,
+ QEMU_CAPS_OBJECT_MEMORY_FILE_PMEM);
+ DO_TEST("memory-hotplug-nvdimm-unarmed",
+ QEMU_CAPS_DEVICE_NVDIMM,
+ QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM, QEMU_CAPS_OBJECT_MEMORY_FILE);
DO_TEST("machine-aeskeywrap-on-caps",
QEMU_CAPS_AES_KEY_WRAP,
--
2.7.4
2
2
14 Dec '18
-object memory-backend-file[,align=][,pmem=]
Signed-off-by: Luyao Zhong <luyao.zhong(a)intel.com>
---
src/qemu/qemu_capabilities.c | 8 +++++++-
src/qemu/qemu_capabilities.h | 4 ++++
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 2 ++
tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 2 ++
13 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 9258bf6..8b518b1 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -516,7 +516,11 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
"memory-backend-memfd.hugetlb",
"iothread.poll-max-ns",
"machine.pseries.cap-nested-hv",
- "egl-headless.rendernode"
+ "egl-headless.rendernode",
+ "memory-backend-file.align",
+
+ /* 325 */
+ "memory-backend-file.pmem",
);
@@ -1366,6 +1370,8 @@ static virQEMUCapsObjectTypeProps virQEMUCapsDeviceProps[] = {
static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendFile[] = {
{ "discard-data", QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD },
+ { "align", QEMU_CAPS_OBJECT_MEMORY_FILE_ALIGN },
+ { "pmem", QEMU_CAPS_OBJECT_MEMORY_FILE_PMEM },
};
static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendMemfd[] = {
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index c109887..f10b9a9 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -501,6 +501,10 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
QEMU_CAPS_IOTHREAD_POLLING, /* -object iothread.poll-max-ns */
QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV, /* -machine pseries.cap-nested-hv */
QEMU_CAPS_EGL_HEADLESS_RENDERNODE, /* -display egl-headless,rendernode= */
+ QEMU_CAPS_OBJECT_MEMORY_FILE_ALIGN, /* -object memory-backend-file,align= */
+
+ /* 325 */
+ QEMU_CAPS_OBJECT_MEMORY_FILE_PMEM, /* -object memory-backend-file,pmem= */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
index 8dd90f5..186a6cc 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
@@ -165,6 +165,7 @@
<flag name='memory-backend-memfd'/>
<flag name='memory-backend-memfd.hugetlb'/>
<flag name='iothread.poll-max-ns'/>
+ <flag name='memory-backend-file.align'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>345725</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
index e646103..c47ebd7 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
@@ -163,6 +163,7 @@
<flag name='memory-backend-memfd'/>
<flag name='memory-backend-memfd.hugetlb'/>
<flag name='iothread.poll-max-ns'/>
+ <flag name='memory-backend-file.align'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>426509</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
index b18bd74..49249f5 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
@@ -132,6 +132,7 @@
<flag name='memory-backend-memfd'/>
<flag name='memory-backend-memfd.hugetlb'/>
<flag name='iothread.poll-max-ns'/>
+ <flag name='memory-backend-file.align'/>
<version>2012000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>375102</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
index ac97e16..54c4a65 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
@@ -206,6 +206,7 @@
<flag name='memory-backend-memfd'/>
<flag name='memory-backend-memfd.hugetlb'/>
<flag name='iothread.poll-max-ns'/>
+ <flag name='memory-backend-file.align'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>414371</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
index f11d860..24a3c2b 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
@@ -163,6 +163,7 @@
<flag name='memory-backend-memfd'/>
<flag name='memory-backend-memfd.hugetlb'/>
<flag name='iothread.poll-max-ns'/>
+ <flag name='memory-backend-file.align'/>
<version>2012050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>444946</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml b/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
index 552b319..1b5d8e6 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
@@ -103,6 +103,7 @@
<flag name='memory-backend-memfd'/>
<flag name='memory-backend-memfd.hugetlb'/>
<flag name='iothread.poll-max-ns'/>
+ <flag name='memory-backend-file.align'/>
<version>3000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
index 4f9832d..3c76f63 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
@@ -103,6 +103,7 @@
<flag name='memory-backend-memfd'/>
<flag name='memory-backend-memfd.hugetlb'/>
<flag name='iothread.poll-max-ns'/>
+ <flag name='memory-backend-file.align'/>
<version>3000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
index 1c4177c..8569de6 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
@@ -134,6 +134,7 @@
<flag name='memory-backend-memfd'/>
<flag name='memory-backend-memfd.hugetlb'/>
<flag name='iothread.poll-max-ns'/>
+ <flag name='memory-backend-file.align'/>
<version>3000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>388416</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
index b2d98a6..15df8a5 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
@@ -208,6 +208,7 @@
<flag name='memory-backend-memfd'/>
<flag name='memory-backend-memfd.hugetlb'/>
<flag name='iothread.poll-max-ns'/>
+ <flag name='memory-backend-file.align'/>
<version>3000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>425972</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
index b06b173..175233a 100644
--- a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
@@ -166,6 +166,8 @@
<flag name='memory-backend-memfd.hugetlb'/>
<flag name='iothread.poll-max-ns'/>
<flag name='machine.pseries.cap-nested-hv'/>
+ <flag name='memory-backend-file.align'/>
+ <flag name='memory-backend-file.pmem'/>
<version>3000091</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>437731</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
index 6c9c0c6..faafbcd 100644
--- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
@@ -209,6 +209,8 @@
<flag name='memory-backend-memfd.hugetlb'/>
<flag name='iothread.poll-max-ns'/>
<flag name='egl-headless.rendernode'/>
+ <flag name='memory-backend-file.align'/>
+ <flag name='memory-backend-file.pmem'/>
<version>3000092</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>440395</microcodeVersion>
--
2.7.4
2
2
Hi libvirt experts,
This is the RFC v3 for updating NVDIMM support in libvirt.
There are some gaps between qemu and libvirt, libvirt has not
supported several config options about NVDIMM memory while
qemu is ready now, including 'align', 'pmem', 'unarmed'.
I reworded and recoded my patches according to some feedback
comments from community once more.
But I met some issues I can't handle. I list them as follows:
a. add qemu_capabilities check
I want to add some nvdimm-related qemu_capabilities check, just
like 'QEMU_CAPS_OBJECT_MEMORY_FILE_ALIGN' in patch 2/4, and
I try to add the relevant sections into *.replies files manually.
But the qemucapabilitiestest failed, I don't know why. It seems
something wrong with the *.replies file. I think the *.replies
doesn't depends on other code or file, right? Could you help me address
this issue? The test log doesn't give me any useful info.
b. DO_TEST & DO_TEST_CAPS_LATEST
In the previous patches, several experts suggest me using
DO_TEST_CAPS_LATEST, but the testcases will fail. I guess it may
be related to the qemu_capabilities check I mentioned above. I'm
not sure if this issue will disappeared when the first one is be
resolved.
Besides, the whole nvdimm stuff do not introduce enough qemu_capabilities
check and do not use DO_TEST_CAPS_LATEST. Maybe it is better to do these
modification in another patch set. Or we can rely on qemu errors, it's just
what libvirt do currently. What' your comments?
Thank you in advance.
Regards,
Luyao Zhong
Luyao Zhong (4):
nvdimm: introduce more config elements into xml for NVDIMM memory
nvdimm: add nvdimm-related qemucapabilities check
nvdimm: update qemu command-line generating for NVDIMM memory
nvdimm: update news.xml
docs/formatdomain.html.in | 80 ++++++++++++++++++----
docs/news.xml | 9 +++
docs/schemas/domaincommon.rng | 23 ++++++-
src/conf/domain_conf.c | 61 +++++++++++++++--
src/conf/domain_conf.h | 3 +
src/qemu/qemu_capabilities.c | 8 ++-
src/qemu/qemu_capabilities.h | 4 ++
src/qemu/qemu_command.c | 32 +++++++++
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 2 +
tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 2 +
.../memory-hotplug-nvdimm-align.args | 31 +++++++++
.../memory-hotplug-nvdimm-align.xml | 58 ++++++++++++++++
.../memory-hotplug-nvdimm-pmem.args | 31 +++++++++
.../memory-hotplug-nvdimm-pmem.xml | 58 ++++++++++++++++
.../memory-hotplug-nvdimm-unarmed.args | 31 +++++++++
.../memory-hotplug-nvdimm-unarmed.xml | 58 ++++++++++++++++
tests/qemuxml2argvtest.c | 11 +++
.../memory-hotplug-nvdimm-align.xml | 1 +
.../memory-hotplug-nvdimm-pmem.xml | 1 +
.../memory-hotplug-nvdimm-unarmed.xml | 1 +
tests/qemuxml2xmltest.c | 3 +
30 files changed, 491 insertions(+), 26 deletions(-)
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.args
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.args
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.args
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.xml
create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-align.xml
create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-pmem.xml
create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-unarmed.xml
--
2.7.4
2
2
14 Dec '18
This series was inspired by the cleanup proposed by Michal in his recent
security driver work. I pointed out the mess he was cleaning up was in
fact across the entire codebase:
https://www.redhat.com/archives/libvir-list/2018-December/msg00136.html
This series addresses it globally
Daniel P. Berrangé (2):
Fix many mistakes & inconsistencies in header file layout
Enforce a standard header file guard symbol name
build-aux/header-ifdef.pl | 156 ++++++++++++++++++++
cfg.mk | 7 +-
docs/apibuild.py | 2 +
include/libvirt/libvirt-admin.h | 6 +-
include/libvirt/libvirt-domain-snapshot.h | 6 +-
include/libvirt/libvirt-domain.h | 6 +-
include/libvirt/libvirt-event.h | 6 +-
include/libvirt/libvirt-host.h | 6 +-
include/libvirt/libvirt-interface.h | 6 +-
include/libvirt/libvirt-lxc.h | 6 +-
include/libvirt/libvirt-network.h | 6 +-
include/libvirt/libvirt-nodedev.h | 6 +-
include/libvirt/libvirt-nwfilter.h | 6 +-
include/libvirt/libvirt-qemu.h | 6 +-
include/libvirt/libvirt-secret.h | 6 +-
include/libvirt/libvirt-storage.h | 6 +-
include/libvirt/libvirt-stream.h | 6 +-
include/libvirt/libvirt.h | 6 +-
include/libvirt/virterror.h | 6 +-
src/access/viraccessdriver.h | 6 +-
src/access/viraccessdrivernop.h | 6 +-
src/access/viraccessdriverpolkit.h | 6 +-
src/access/viraccessdriverstack.h | 6 +-
src/access/viraccessmanager.h | 6 +-
src/access/viraccessperm.h | 6 +-
src/admin/admin_server.h | 6 +-
src/admin/admin_server_dispatch.h | 6 +-
src/bhyve/bhyve_capabilities.h | 6 +-
src/bhyve/bhyve_command.h | 6 +-
src/bhyve/bhyve_conf.h | 6 +-
src/bhyve/bhyve_device.h | 6 +-
src/bhyve/bhyve_domain.h | 6 +-
src/bhyve/bhyve_driver.h | 6 +-
src/bhyve/bhyve_monitor.h | 6 +-
src/bhyve/bhyve_parse_command.h | 6 +-
src/bhyve/bhyve_process.h | 6 +-
src/bhyve/bhyve_utils.h | 6 +-
src/conf/capabilities.h | 6 +-
src/conf/cpu_conf.h | 6 +-
src/conf/device_conf.h | 6 +-
src/conf/domain_addr.h | 6 +-
src/conf/domain_audit.h | 6 +-
src/conf/domain_capabilities.h | 6 +-
src/conf/domain_conf.h | 6 +-
src/conf/domain_event.h | 9 +-
src/conf/domain_nwfilter.h | 7 +-
src/conf/interface_conf.h | 6 +-
src/conf/netdev_bandwidth_conf.h | 6 +-
src/conf/netdev_vlan_conf.h | 6 +-
src/conf/netdev_vport_profile_conf.h | 6 +-
src/conf/network_conf.h | 6 +-
src/conf/network_event.h | 12 +-
src/conf/networkcommon_conf.h | 6 +-
src/conf/node_device_conf.h | 6 +-
src/conf/node_device_event.h | 12 +-
src/conf/node_device_util.h | 6 +-
src/conf/numa_conf.h | 6 +-
src/conf/nwfilter_conf.h | 7 +-
src/conf/nwfilter_ipaddrmap.h | 6 +-
src/conf/nwfilter_params.h | 7 +-
src/conf/object_event.h | 10 +-
src/conf/object_event_private.h | 8 +-
src/conf/secret_conf.h | 7 +-
src/conf/secret_event.h | 12 +-
src/conf/snapshot_conf.h | 6 +-
src/conf/storage_adapter_conf.h | 6 +-
src/conf/storage_conf.h | 6 +-
src/conf/storage_event.h | 12 +-
src/conf/virchrdev.h | 8 +-
src/conf/virdomainobjlist.h | 6 +-
src/conf/virinterfaceobj.h | 6 +-
src/conf/virnetworkobj.h | 6 +-
src/conf/virnodedeviceobj.h | 6 +-
src/conf/virnwfilterbindingdef.h | 7 +-
src/conf/virnwfilterbindingobj.h | 7 +-
src/conf/virnwfilterbindingobjlist.h | 6 +-
src/conf/virnwfilterobj.h | 7 +-
src/conf/virsavecookie.h | 7 +-
src/conf/virsecretobj.h | 6 +-
src/conf/virstorageobj.h | 6 +-
src/cpu/cpu.h | 6 +-
src/cpu/cpu_arm.h | 6 +-
src/cpu/cpu_map.h | 6 +-
src/cpu/cpu_ppc64.h | 6 +-
src/cpu/cpu_ppc64_data.h | 6 +-
src/cpu/cpu_s390.h | 6 +-
src/cpu/cpu_x86.h | 6 +-
src/cpu/cpu_x86_data.h | 6 +-
src/datatypes.h | 6 +-
src/driver-hypervisor.h | 6 +-
src/driver-interface.h | 6 +-
src/driver-network.h | 6 +-
src/driver-nodedev.h | 6 +-
src/driver-nwfilter.h | 6 +-
src/driver-secret.h | 6 +-
src/driver-state.h | 6 +-
src/driver-storage.h | 6 +-
src/driver-stream.h | 6 +-
src/driver.h | 6 +-
src/esx/esx_driver.h | 6 +-
src/esx/esx_interface_driver.h | 6 +-
src/esx/esx_network_driver.h | 6 +-
src/esx/esx_private.h | 6 +-
src/esx/esx_storage_backend_iscsi.h | 6 +-
src/esx/esx_storage_backend_vmfs.h | 6 +-
src/esx/esx_storage_driver.h | 6 +-
src/esx/esx_stream.h | 6 +-
src/esx/esx_util.h | 6 +-
src/esx/esx_vi.h | 6 +-
src/esx/esx_vi_methods.h | 6 +-
src/esx/esx_vi_types.h | 6 +-
src/hyperv/hyperv_driver.h | 6 +-
src/hyperv/hyperv_private.h | 6 +-
src/hyperv/hyperv_util.h | 6 +-
src/hyperv/hyperv_wmi.h | 6 +-
src/hyperv/hyperv_wmi_classes.h | 6 +-
src/hyperv/openwsman.h | 6 +-
src/interface/interface_driver.h | 7 +-
src/internal.h | 6 +-
src/libvirt_internal.h | 6 +-
src/libxl/libxl_capabilities.h | 6 +-
src/libxl/libxl_conf.h | 6 +-
src/libxl/libxl_domain.h | 6 +-
src/libxl/libxl_driver.h | 6 +-
src/libxl/libxl_logger.h | 6 +-
src/libxl/libxl_migration.h | 6 +-
src/locking/domain_lock.h | 6 +-
src/locking/lock_daemon.h | 6 +-
src/locking/lock_daemon_config.h | 6 +-
src/locking/lock_daemon_dispatch.h | 6 +-
src/locking/lock_driver.h | 6 +-
src/locking/lock_driver_lockd.h | 6 +-
src/locking/lock_driver_nop.h | 6 +-
src/locking/lock_manager.h | 6 +-
src/logging/log_daemon.h | 6 +-
src/logging/log_daemon_config.h | 6 +-
src/logging/log_daemon_dispatch.h | 6 +-
src/logging/log_handler.h | 6 +-
src/logging/log_manager.h | 7 +-
src/lxc/lxc_cgroup.h | 6 +-
src/lxc/lxc_conf.h | 6 +-
src/lxc/lxc_container.h | 6 +-
src/lxc/lxc_domain.h | 7 +-
src/lxc/lxc_driver.h | 6 +-
src/lxc/lxc_fuse.h | 6 +-
src/lxc/lxc_hostdev.h | 6 +-
src/lxc/lxc_monitor.h | 6 +-
src/lxc/lxc_native.h | 6 +-
src/lxc/lxc_process.h | 6 +-
src/network/bridge_driver.h | 7 +-
src/network/bridge_driver_platform.h | 6 +-
src/node_device/node_device_driver.h | 6 +-
src/node_device/node_device_hal.h | 6 +-
src/node_device/node_device_udev.h | 13 +-
src/nwfilter/nwfilter_dhcpsnoop.h | 6 +-
src/nwfilter/nwfilter_driver.h | 6 +-
src/nwfilter/nwfilter_ebiptables_driver.h | 7 +-
src/nwfilter/nwfilter_gentech_driver.h | 7 +-
src/nwfilter/nwfilter_learnipaddr.h | 6 +-
src/nwfilter/nwfilter_tech_driver.h | 6 +-
src/openvz/openvz_conf.h | 6 +-
src/openvz/openvz_driver.h | 7 +-
src/openvz/openvz_util.h | 7 +-
src/phyp/phyp_driver.h | 6 +-
src/qemu/qemu_agent.h | 7 +-
src/qemu/qemu_alias.h | 6 +-
src/qemu/qemu_block.h | 6 +-
src/qemu/qemu_blockjob.h | 6 +-
src/qemu/qemu_capabilities.c | 2 +-
src/qemu/qemu_capabilities.h | 6 +-
src/qemu/qemu_capspriv.h | 11 +-
src/qemu/qemu_cgroup.h | 6 +-
src/qemu/qemu_command.h | 6 +-
src/qemu/qemu_conf.h | 6 +-
src/qemu/qemu_domain.h | 6 +-
src/qemu/qemu_domain_address.h | 7 +-
src/qemu/qemu_driver.h | 6 +-
src/qemu/qemu_extdevice.h | 7 +-
src/qemu/qemu_hostdev.h | 6 +-
src/qemu/qemu_hotplug.c | 1 +
src/qemu/qemu_hotplug.h | 6 +-
src/qemu/qemu_hotplugpriv.h | 10 +-
src/qemu/qemu_interface.h | 6 +-
src/qemu/qemu_migration.h | 6 +-
src/qemu/qemu_migration_cookie.h | 6 +-
src/qemu/qemu_migration_params.c | 1 +
src/qemu/qemu_migration_params.h | 6 +-
src/qemu/qemu_migration_paramspriv.h | 10 +-
src/qemu/qemu_monitor.c | 2 +-
src/qemu/qemu_monitor.h | 7 +-
src/qemu/qemu_monitor_json.h | 7 +-
src/qemu/qemu_monitor_priv.h | 10 +-
src/qemu/qemu_monitor_text.h | 7 +-
src/qemu/qemu_parse_command.h | 6 +-
src/qemu/qemu_process.c | 1 +
src/qemu/qemu_process.h | 6 +-
src/qemu/qemu_processpriv.h | 10 +-
src/qemu/qemu_qapi.h | 6 +-
src/qemu/qemu_security.h | 6 +-
src/qemu/qemu_tpm.h | 7 +-
src/remote/remote_daemon.h | 7 +-
src/remote/remote_daemon_config.h | 6 +-
src/remote/remote_daemon_dispatch.h | 6 +-
src/remote/remote_daemon_stream.h | 7 +-
src/remote/remote_driver.h | 6 +-
src/rpc/virkeepalive.h | 6 +-
src/rpc/virnetclient.h | 6 +-
src/rpc/virnetclientprogram.h | 6 +-
src/rpc/virnetclientstream.h | 6 +-
src/rpc/virnetdaemon.h | 6 +-
src/rpc/virnetlibsshsession.h | 7 +-
src/rpc/virnetmessage.h | 6 +-
src/rpc/virnetsaslcontext.h | 6 +-
src/rpc/virnetserver.h | 6 +-
src/rpc/virnetserverclient.h | 6 +-
src/rpc/virnetservermdns.h | 6 +-
src/rpc/virnetserverprogram.h | 6 +-
src/rpc/virnetserverservice.h | 6 +-
src/rpc/virnetsocket.h | 6 +-
src/rpc/virnetsshsession.h | 7 +-
src/rpc/virnettlscontext.h | 6 +-
src/secret/secret_driver.h | 6 +-
src/secret/secret_util.h | 6 +-
src/security/security_apparmor.h | 7 +-
src/security/security_dac.h | 8 +-
src/security/security_driver.h | 7 +-
src/security/security_manager.h | 6 +-
src/security/security_nop.h | 6 +-
src/security/security_selinux.h | 7 +-
src/security/security_stack.h | 8 +-
src/storage/storage_backend.h | 6 +-
src/storage/storage_backend_disk.h | 6 +-
src/storage/storage_backend_fs.h | 6 +-
src/storage/storage_backend_gluster.h | 6 +-
src/storage/storage_backend_iscsi.h | 6 +-
src/storage/storage_backend_iscsi_direct.h | 22 ++-
src/storage/storage_backend_logical.h | 6 +-
src/storage/storage_backend_mpath.h | 6 +-
src/storage/storage_backend_rbd.h | 6 +-
src/storage/storage_backend_scsi.h | 6 +-
src/storage/storage_backend_sheepdog.c | 1 +
src/storage/storage_backend_sheepdog.h | 6 +-
src/storage/storage_backend_sheepdog_priv.h | 10 +-
src/storage/storage_backend_vstorage.h | 6 +-
src/storage/storage_backend_zfs.h | 6 +-
src/storage/storage_driver.h | 6 +-
src/storage/storage_file_fs.h | 6 +-
src/storage/storage_file_gluster.h | 6 +-
src/storage/storage_util.h | 6 +-
src/test/test_driver.h | 6 +-
src/uml/uml_conf.h | 6 +-
src/uml/uml_driver.h | 7 +-
src/util/viralloc.h | 7 +-
src/util/virarch.h | 6 +-
src/util/virarptable.h | 6 +-
src/util/viratomic.h | 6 +-
src/util/viraudit.h | 7 +-
src/util/virauth.h | 6 +-
src/util/virauthconfig.h | 6 +-
src/util/virbitmap.h | 6 +-
src/util/virbuffer.h | 6 +-
src/util/vircgroup.c | 2 +-
src/util/vircgroup.h | 6 +-
src/util/vircgroupbackend.c | 3 +-
src/util/vircgroupbackend.h | 6 +-
src/util/vircgrouppriv.h | 10 +-
src/util/vircgroupv1.c | 3 +-
src/util/vircgroupv1.h | 6 +-
src/util/vircgroupv2.c | 3 +-
src/util/vircgroupv2.h | 6 +-
src/util/virclosecallbacks.h | 6 +-
src/util/vircommand.c | 2 +-
src/util/vircommand.h | 6 +-
src/util/vircommandpriv.h | 10 +-
src/util/virconf.h | 6 +-
src/util/vircrypto.h | 6 +-
src/util/virdbus.c | 1 +
src/util/virdbus.h | 6 +-
src/util/virdbuspriv.h | 10 +-
src/util/virdevmapper.h | 6 +-
src/util/virdnsmasq.h | 6 +-
src/util/virebtables.h | 6 +-
src/util/virendian.h | 6 +-
src/util/virerror.h | 6 +-
src/util/virevent.h | 6 +-
src/util/vireventpoll.h | 6 +-
src/util/virfcp.h | 6 +-
src/util/virfdstream.h | 7 +-
src/util/virfile.h | 7 +-
src/util/virfilecache.h | 6 +-
src/util/virfirewall.c | 3 +-
src/util/virfirewall.h | 6 +-
src/util/virfirewallpriv.h | 10 +-
src/util/virfirmware.h | 6 +-
src/util/virgettext.h | 7 +-
src/util/virgic.h | 6 +-
src/util/virhash.h | 6 +-
src/util/virhashcode.h | 6 +-
src/util/virhook.h | 6 +-
src/util/virhostcpu.c | 1 +
src/util/virhostcpu.h | 6 +-
src/util/virhostcpupriv.h | 10 +-
src/util/virhostdev.h | 6 +-
src/util/virhostmem.h | 6 +-
src/util/viridentity.h | 6 +-
src/util/virinitctl.h | 6 +-
src/util/viriptables.h | 6 +-
src/util/viriscsi.h | 7 +-
src/util/virjson.h | 7 +-
src/util/virkeycode.h | 6 +-
src/util/virkeyfile.h | 6 +-
src/util/virkmod.h | 6 +-
src/util/virlease.h | 7 +-
src/util/virlockspace.h | 6 +-
src/util/virlog.h | 6 +-
src/util/virmacaddr.h | 6 +-
src/util/virmacmap.h | 7 +-
src/util/virmdev.h | 6 +-
src/util/virmodule.h | 6 +-
src/util/virnetdev.h | 6 +-
src/util/virnetdevbandwidth.h | 6 +-
src/util/virnetdevbridge.h | 6 +-
src/util/virnetdevip.h | 6 +-
src/util/virnetdevmacvlan.h | 6 +-
src/util/virnetdevmidonet.h | 6 +-
src/util/virnetdevopenvswitch.h | 6 +-
src/util/virnetdevtap.h | 6 +-
src/util/virnetdevveth.h | 6 +-
src/util/virnetdevvlan.h | 7 +-
src/util/virnetdevvportprofile.h | 6 +-
src/util/virnetlink.h | 6 +-
src/util/virnodesuspend.h | 7 +-
src/util/virnuma.h | 6 +-
src/util/virobject.h | 6 +-
src/util/virpci.h | 6 +-
src/util/virperf.h | 6 +-
src/util/virpidfile.h | 6 +-
src/util/virpolkit.h | 6 +-
src/util/virportallocator.h | 6 +-
src/util/virprobe.h | 6 +-
src/util/virprocess.h | 6 +-
src/util/virqemu.h | 7 +-
src/util/virrandom.h | 6 +-
src/util/virresctrl.c | 1 +
src/util/virresctrl.h | 6 +-
src/util/virresctrlpriv.h | 10 +-
src/util/virrotatingfile.h | 6 +-
src/util/virscsi.h | 6 +-
src/util/virscsihost.h | 6 +-
src/util/virscsivhost.h | 6 +-
src/util/virseclabel.h | 6 +-
src/util/virsecret.h | 6 +-
src/util/virsexpr.h | 6 +-
src/util/virsocketaddr.h | 6 +-
src/util/virstorageencryption.h | 6 +-
src/util/virstoragefile.h | 6 +-
src/util/virstoragefilebackend.h | 6 +-
src/util/virstring.h | 6 +-
src/util/virsysinfo.c | 2 +-
src/util/virsysinfo.h | 6 +-
src/util/virsysinfopriv.h | 10 +-
src/util/virsystemd.c | 2 +-
src/util/virsystemd.h | 6 +-
src/util/virsystemdpriv.h | 10 +-
src/util/virthread.h | 6 +-
src/util/virthreadjob.h | 6 +-
src/util/virthreadpool.h | 6 +-
src/util/virtime.h | 6 +-
src/util/virtpm.h | 7 +-
src/util/virtypedparam.h | 7 +-
src/util/viruri.h | 6 +-
src/util/virusb.h | 6 +-
src/util/virutil.h | 6 +-
src/util/viruuid.h | 6 +-
src/util/virvhba.h | 6 +-
src/util/virvsock.h | 6 +-
src/util/virxdrdefs.h | 6 +-
src/util/virxml.h | 6 +-
src/vbox/vbox_MSCOMGlue.h | 6 +-
src/vbox/vbox_common.h | 6 +-
src/vbox/vbox_driver.h | 10 +-
src/vbox/vbox_get_driver.h | 6 +-
src/vbox/vbox_glue.h | 6 +-
src/vbox/vbox_snapshot_conf.h | 6 +-
src/vbox/vbox_uniformed_api.h | 6 +-
src/vmware/vmware_conf.h | 8 +-
src/vmware/vmware_driver.h | 11 +-
src/vmx/vmx.h | 6 +-
src/vz/vz_driver.h | 6 +-
src/vz/vz_sdk.h | 9 +-
src/vz/vz_utils.h | 8 +-
src/xenapi/xenapi_driver.h | 7 +-
src/xenapi/xenapi_driver_private.h | 7 +-
src/xenapi/xenapi_utils.h | 6 +-
src/xenconfig/xen_common.h | 6 +-
src/xenconfig/xen_sxpr.h | 6 +-
src/xenconfig/xen_xl.h | 6 +-
src/xenconfig/xen_xm.h | 6 +-
src/xenconfig/xenxs_private.h | 6 +-
tests/cputest.c | 3 +-
tests/networkxml2firewalltest.c | 4 +-
tests/nwfilterebiptablestest.c | 4 +-
tests/nwfilterxml2firewalltest.c | 4 +-
tests/qemucapabilitiestest.c | 4 +-
tests/qemucapsprobe.c | 2 +-
tests/qemucpumock.c | 3 +-
tests/qemuhotplugtest.c | 1 +
tests/qemumigparamstest.c | 1 +
tests/qemumonitorjsontest.c | 1 +
tests/qemumonitortestutils.c | 1 +
tests/qemumonitortestutils.h | 6 +-
tests/qemuxml2argvtest.c | 3 +-
tests/storagebackendsheepdogtest.c | 1 +
tests/sysinfotest.c | 2 +-
tests/testutils.h | 6 +-
tests/testutilshostcpus.h | 27 +++-
tests/testutilslxc.h | 27 +++-
tests/testutilsqemu.c | 2 +-
tests/testutilsqemu.h | 35 ++++-
tests/testutilsqemuschema.h | 11 +-
tests/testutilsxen.h | 22 ++-
tests/vircgrouptest.c | 2 +-
tests/virdbustest.c | 2 +-
tests/virfilewrapper.h | 5 +-
tests/virfirewalltest.c | 6 +-
tests/virhashdata.h | 21 +++
tests/virhostcputest.c | 1 +
tests/viriscsitest.c | 3 +-
tests/virkmodtest.c | 2 +-
tests/virmock.h | 6 +-
tests/virnetdevbandwidthtest.c | 2 +-
tests/virnettlshelpers.h | 17 ++-
tests/virresctrltest.c | 1 +
tests/virsystemdtest.c | 2 +-
tools/nss/libvirt_nss.h | 6 +-
tools/virsh-completer.h | 6 +-
tools/virsh-console.h | 6 +-
tools/virsh-domain-monitor.h | 6 +-
tools/virsh-domain.h | 6 +-
tools/virsh-host.h | 6 +-
tools/virsh-interface.h | 6 +-
tools/virsh-network.h | 6 +-
tools/virsh-nodedev.h | 6 +-
tools/virsh-nwfilter.h | 6 +-
tools/virsh-pool.h | 6 +-
tools/virsh-secret.h | 6 +-
tools/virsh-snapshot.h | 6 +-
tools/virsh-util.h | 6 +-
tools/virsh-volume.h | 6 +-
tools/virsh.h | 6 +-
tools/virt-admin-completer.h | 6 +-
tools/virt-admin.h | 6 +-
tools/virt-host-validate-bhyve.h | 6 +-
tools/virt-host-validate-common.h | 6 +-
tools/virt-host-validate-lxc.h | 6 +-
tools/virt-host-validate-qemu.h | 6 +-
tools/vsh-table.h | 6 +-
tools/vsh.h | 6 +-
tools/wireshark/src/packet-libvirt.h | 7 +-
459 files changed, 1685 insertions(+), 1358 deletions(-)
create mode 100644 build-aux/header-ifdef.pl
--
2.19.2
2
3
While working on cgroup v2 devices and doing some extended testing I
figured out that there are two issues with the current code.
Pavel Hrdina (2):
vircgroup: introduce virCgroupKillRecursiveCB
vircgroupv2: fix virCgroupV2ValidateMachineGroup
src/util/vircgroup.c | 69 ++++++++++++++++++++-----------------
src/util/vircgroupbackend.h | 7 ++++
src/util/vircgrouppriv.h | 8 +++++
src/util/vircgroupv1.c | 16 +++++++++
src/util/vircgroupv2.c | 22 ++++++++++++
5 files changed, 90 insertions(+), 32 deletions(-)
--
2.19.2
2
5
13 Dec '18
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
Pushed as a trivial fix
src/qemu/qemu_hotplug.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 72b09f92ca..68d021afbb 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -5964,7 +5964,7 @@ qemuDomainDetachNetDevice(virQEMUDriverPtr driver,
if (qemuIsMultiFunctionDevice(vm->def, &detach->info)) {
virReportError(VIR_ERR_OPERATION_FAILED,
_("cannot hot unplug multifunction PCI device: %s"),
- dev->data.disk->dst);
+ detach->ifname);
goto cleanup;
}
--
2.19.2
1
0
[libvirt] [PATCH] storage: Fix build issue with MOUNT and VGCHANGE commands
by John Ferlan 13 Dec '18
by John Ferlan 13 Dec '18
13 Dec '18
Turns out there some build platforms that must not define MOUNT
or VGCHANGE in config.h... So moving the commands from the storage
backend specific module into a common storage_util module causes
issues for those platforms.
So instead of assuming they are there, let's just pass the command
string to the storage util API's from the storage backend specific
code (as would have been successful before). Also modify the test
to determine whether the MOUNT and/or VGCHANGE doesn't exist and
just define it to (for example) what Fedora has for the path. Could
have just used "mount" and "vgchange" in the call, but that defeats
the purpose of adding the call to virTestClearCommandPath.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
Although it is a build breaker I figured I'd wait before pushing to ensure
no one had heartburn over my selected solution of just restoring the onus
of the MOUNT and VGCHANGE back to the storage backend specific module as
opposed to trying to use #ifdef's in the common module and of course the
testing code. This just seemed to be the path of least resistance.
src/storage/storage_backend_fs.c | 2 +-
src/storage/storage_backend_logical.c | 2 +-
src/storage/storage_util.c | 10 ++++++----
src/storage/storage_util.h | 6 ++++--
tests/storagepoolxml2argvtest.c | 11 +++++++++--
5 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c
index c5e75627b5..37feff79d1 100644
--- a/src/storage/storage_backend_fs.c
+++ b/src/storage/storage_backend_fs.c
@@ -330,7 +330,7 @@ virStorageBackendFileSystemMount(virStoragePoolObjPtr pool)
if (!(src = virStorageBackendFileSystemGetPoolSource(pool)))
return -1;
- cmd = virStorageBackendFileSystemMountCmd(def, src);
+ cmd = virStorageBackendFileSystemMountCmd(MOUNT, def, src);
if (virCommandRun(cmd, NULL) < 0)
goto cleanup;
diff --git a/src/storage/storage_backend_logical.c b/src/storage/storage_backend_logical.c
index 12fff651e8..0059e24308 100644
--- a/src/storage/storage_backend_logical.c
+++ b/src/storage/storage_backend_logical.c
@@ -52,7 +52,7 @@ virStorageBackendLogicalSetActive(virStoragePoolObjPtr pool,
{
int ret;
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
- virCommandPtr cmd = virStorageBackendLogicalChangeCmd(def, on);
+ virCommandPtr cmd = virStorageBackendLogicalChangeCmd(VGCHANGE, def, on);
ret = virCommandRun(cmd, NULL);
virCommandFree(cmd);
diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c
index 01f3c93008..a84ee5b600 100644
--- a/src/storage/storage_util.c
+++ b/src/storage/storage_util.c
@@ -4312,7 +4312,8 @@ virStorageBackendFileSystemMountDefaultArgs(virCommandPtr cmd,
virCommandPtr
-virStorageBackendFileSystemMountCmd(virStoragePoolDefPtr def,
+virStorageBackendFileSystemMountCmd(const char *cmdstr,
+ virStoragePoolDefPtr def,
const char *src)
{
/* 'mount -t auto' doesn't seem to auto determine nfs (or cifs),
@@ -4326,7 +4327,7 @@ virStorageBackendFileSystemMountCmd(virStoragePoolDefPtr def,
def->source.format == VIR_STORAGE_POOL_NETFS_CIFS);
virCommandPtr cmd = NULL;
- cmd = virCommandNew(MOUNT);
+ cmd = virCommandNew(cmdstr);
if (netauto)
virStorageBackendFileSystemMountNFSArgs(cmd, src, def);
else if (glusterfs)
@@ -4340,10 +4341,11 @@ virStorageBackendFileSystemMountCmd(virStoragePoolDefPtr def,
virCommandPtr
-virStorageBackendLogicalChangeCmd(virStoragePoolDefPtr def,
+virStorageBackendLogicalChangeCmd(const char *cmdstr,
+ virStoragePoolDefPtr def,
bool on)
{
- return virCommandNewArgList(VGCHANGE,
+ return virCommandNewArgList(cmdstr,
on ? "-aly" : "-aln",
def->source.name,
NULL);
diff --git a/src/storage/storage_util.h b/src/storage/storage_util.h
index a2ef2ac07d..d0cb5d9884 100644
--- a/src/storage/storage_util.h
+++ b/src/storage/storage_util.h
@@ -181,11 +181,13 @@ char *
virStorageBackendFileSystemGetPoolSource(virStoragePoolObjPtr pool);
virCommandPtr
-virStorageBackendFileSystemMountCmd(virStoragePoolDefPtr def,
+virStorageBackendFileSystemMountCmd(const char *cmdstr,
+ virStoragePoolDefPtr def,
const char *src);
virCommandPtr
-virStorageBackendLogicalChangeCmd(virStoragePoolDefPtr def,
+virStorageBackendLogicalChangeCmd(const char *cmdstr,
+ virStoragePoolDefPtr def,
bool on);
#endif /* __VIR_STORAGE_UTIL_H__ */
diff --git a/tests/storagepoolxml2argvtest.c b/tests/storagepoolxml2argvtest.c
index 534cb21144..196989cb6d 100644
--- a/tests/storagepoolxml2argvtest.c
+++ b/tests/storagepoolxml2argvtest.c
@@ -9,6 +9,13 @@
#define VIR_FROM_THIS VIR_FROM_NONE
+#ifndef MOUNT
+# define MOUNT "/usr/bin/mount"
+#endif
+
+#ifndef VGCHANGE
+# define VGCHANGE "/usr/sbin/vgchange"
+#endif
static int
testCompareXMLToArgvFiles(bool shouldFail,
@@ -40,11 +47,11 @@ testCompareXMLToArgvFiles(bool shouldFail,
goto cleanup;
}
- cmd = virStorageBackendFileSystemMountCmd(def, src);
+ cmd = virStorageBackendFileSystemMountCmd(MOUNT, def, src);
break;
case VIR_STORAGE_POOL_LOGICAL:
- cmd = virStorageBackendLogicalChangeCmd(def, true);
+ cmd = virStorageBackendLogicalChangeCmd(VGCHANGE, def, true);
break;
case VIR_STORAGE_POOL_DIR:
--
2.17.2
1
0
13 Dec '18
Support for nested KVM is handled via a kernel module configuration
parameters values for kvm_intel, kvm_amd, kvm_hv (PPC), or kvm (s390).
While it's possible to fetch the kmod config values via virKModConfig,
unfortunately that is the static value and we need to get the
current/dynamic value from the kernel file system.
So this patch adds a new API virHostKVMSupportsNesting that will
search the 3 kernel modules to get the nesting value and check if
it is 'Y' (or 'y' just in case) or '1' to return a true/false whether
the KVM kernel supports nesting.
We need to do this in order to handle cases where adjustments to
the value are made after libvirtd is started to force a refetch of
the latest QEMU capabilities since the correct CPU settings need
to be made for a guest to add the "vmx=on" to/for the guest config.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
NB to be removed before push - I got data from:
(IBM Z) https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/ht…
(PPC slide 131) https://events.linuxfoundation.org/wp-content/uploads/2017/12/Taking-it-to-…
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
v2: https://www.redhat.com/archives/libvir-list/2018-November/msg00955.html
Changes from code review...
- Rename variables/API's to KVMSupportsNested
- Movement of logic to check/set the 'nested' to inside locations that
ensure KVM was enabled (via capability).
- Change of logic to not use virKModConfig and instead look at the
running kernel value for /sys/module/*/parameters/nested where *
is kvm_intel, kvm_amd, kvm_hv, or kvm
src/qemu/qemu_capabilities.c | 54 ++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 20a1a0c201..bef92a679f 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -558,6 +558,7 @@ struct _virQEMUCaps {
virObject parent;
bool usedQMP;
+ bool kvmSupportsNesting;
char *binary;
time_t ctime;
@@ -1530,6 +1531,7 @@ virQEMUCapsPtr virQEMUCapsNewCopy(virQEMUCapsPtr qemuCaps)
return NULL;
ret->usedQMP = qemuCaps->usedQMP;
+ ret->kvmSupportsNesting = qemuCaps->kvmSupportsNesting;
if (VIR_STRDUP(ret->binary, qemuCaps->binary) < 0)
goto error;
@@ -3589,6 +3591,9 @@ virQEMUCapsLoadCache(virArch hostArch,
virQEMUCapsInitHostCPUModel(qemuCaps, hostArch, VIR_DOMAIN_VIRT_KVM);
virQEMUCapsInitHostCPUModel(qemuCaps, hostArch, VIR_DOMAIN_VIRT_QEMU);
+ if (virXPathBoolean("boolean(./kvmSupportsNesting)", ctxt) > 0)
+ qemuCaps->kvmSupportsNesting = true;
+
ret = 0;
cleanup:
VIR_FREE(str);
@@ -3808,6 +3813,9 @@ virQEMUCapsFormatCache(virQEMUCapsPtr qemuCaps)
if (qemuCaps->sevCapabilities)
virQEMUCapsFormatSEVInfo(qemuCaps, &buf);
+ if (qemuCaps->kvmSupportsNesting)
+ virBufferAddLit(&buf, "<kvmSupportsNesting/>\n");
+
virBufferAdjustIndent(&buf, -2);
virBufferAddLit(&buf, "</qemuCaps>\n");
@@ -3848,6 +3856,41 @@ virQEMUCapsSaveFile(void *data,
}
+/* Check the kernel module parameters 'nested' file to determine if enabled
+ *
+ * Intel: 'kvm_intel' uses 'Y'
+ * AMD: 'kvm_amd' uses '1'
+ * PPC64: 'kvm_hv' uses 'Y'
+ * S390: 'kvm' uses '1'
+ */
+static bool
+virQEMUCapsKVMSupportsNesting(void)
+{
+ static char const * const kmod[] = {"kvm_intel", "kvm_amd",
+ "kvm_hv", "kvm"};
+ VIR_AUTOFREE(char *) value = NULL;
+ int rc;
+ size_t i;
+
+ for (i = 0; i < ARRAY_CARDINALITY(kmod); i++) {
+ VIR_FREE(value);
+ rc = virFileReadValueString(&value, "/sys/module/%s/parameters/nested",
+ kmod[i]);
+ if (rc == -2)
+ continue;
+ if (rc < 0) {
+ virResetLastError();
+ return false;
+ }
+
+ if (value[0] == 'Y' || value[0] == 'y' || value[0] == '1')
+ return true;
+ }
+
+ return false;
+}
+
+
static bool
virQEMUCapsIsValid(void *data,
void *privData)
@@ -3856,6 +3899,7 @@ virQEMUCapsIsValid(void *data,
virQEMUCapsCachePrivPtr priv = privData;
bool kvmUsable;
struct stat sb;
+ bool kvmSupportsNesting;
if (!qemuCaps->binary)
return true;
@@ -3933,6 +3977,14 @@ virQEMUCapsIsValid(void *data,
qemuCaps->kernelVersion);
return false;
}
+
+ kvmSupportsNesting = virQEMUCapsKVMSupportsNesting();
+ if (kvmSupportsNesting != qemuCaps->kvmSupportsNesting) {
+ VIR_DEBUG("Outdated capabilities for '%s': kvm kernel nested "
+ "value changed from %d",
+ qemuCaps->binary, qemuCaps->kvmSupportsNesting);
+ return false;
+ }
}
return true;
@@ -4576,6 +4628,8 @@ virQEMUCapsNewForBinaryInternal(virArch hostArch,
if (VIR_STRDUP(qemuCaps->kernelVersion, kernelVersion) < 0)
goto error;
+
+ qemuCaps->kvmSupportsNesting = virQEMUCapsKVMSupportsNesting();
}
cleanup:
--
2.17.2
2
3
[libvirt] [PATCH] secret: Add check/validation for correct usage when LookupByUUID
by John Ferlan 13 Dec '18
by John Ferlan 13 Dec '18
13 Dec '18
If virSecretGetSecretString is using by secretLookupByUUID,
then it's possible the found sec->usageType doesn't match the
desired @secretUsageType. If this occurs for the encrypted
volume creation processing and a subsequent pool refresh is
executed, then the secret used to create the volume will not
be found by the storageBackendLoadDefaultSecrets which expects
to find secrets by VIR_SECRET_USAGE_TYPE_VOLUME.
Add a check to virSecretGetSecretString to avoid the possibility
along with an error indicating the incorrect matched types.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
If someone has an idea regarding how the usage could be filled
in "properly" for the qemuxml2argvtest, I'm willing to give it
a shot. However, fair warning trying to "mock" for tls, volume,
iscsi, and ceph could be rather painful. Thus the NONE was the
well, easiest way to go since the stored secret (ahem) shouldn't
be of usageType "none" (famous last words).
src/secret/secret_util.c | 17 +++++++++++++++++
tests/qemuxml2argvtest.c | 4 +++-
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/src/secret/secret_util.c b/src/secret/secret_util.c
index 16e43ab2cc..27e164a425 100644
--- a/src/secret/secret_util.c
+++ b/src/secret/secret_util.c
@@ -71,6 +71,23 @@ virSecretGetSecretString(virConnectPtr conn,
if (!sec)
goto cleanup;
+ /* NB: NONE is a byproduct of the qemuxml2argvtest test mocking
+ * for UUID lookups. Normal secret XML processing would fail if
+ * the usage type was NONE and since we have no way to set the
+ * expected usage in that environment, let's just accept NONE */
+ if (sec->usageType != VIR_SECRET_USAGE_TYPE_NONE &&
+ sec->usageType != secretUsageType) {
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
+
+ virUUIDFormat(seclookupdef->u.uuid, uuidstr);
+ virReportError(VIR_ERR_INVALID_ARG,
+ _("secret with uuid %s is of type '%s' not "
+ "expected '%s' type"),
+ uuidstr, virSecretUsageTypeToString(sec->usageType),
+ virSecretUsageTypeToString(secretUsageType));
+ goto cleanup;
+ }
+
*secret = conn->secretDriver->secretGetValue(sec, secret_size, 0,
VIR_SECRET_GET_VALUE_INTERNAL_CALL);
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index e17709e7e1..700868ca0b 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -77,7 +77,9 @@ static virSecretPtr
fakeSecretLookupByUUID(virConnectPtr conn,
const unsigned char *uuid)
{
- return virGetSecret(conn, uuid, 0, "");
+ /* NB: This mocked value could be "tls" or "volume" depending on
+ * which test is being run, we'll leave at NONE (or 0) */
+ return virGetSecret(conn, uuid, VIR_SECRET_USAGE_TYPE_NONE, "");
}
static virSecretDriver fakeSecretDriver = {
--
2.17.2
2
6
13 Dec '18
Referring to commit fab2e49d, it should be one and only secret for encryption.
Signed-off-by: Han Han <hhan(a)redhat.com>
---
docs/schemas/storagecommon.rng | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/docs/schemas/storagecommon.rng b/docs/schemas/storagecommon.rng
index 9d17d934de..63b51470a0 100644
--- a/docs/schemas/storagecommon.rng
+++ b/docs/schemas/storagecommon.rng
@@ -24,9 +24,7 @@
</choice>
</attribute>
<interleave>
- <zeroOrMore>
- <ref name='secret'/>
- </zeroOrMore>
+ <ref name='secret'/>
<optional>
<element name='cipher'>
<ref name='keycipher'/>
--
2.20.0.rc2
2
1
[libvirt] [PATCH] remote: check & report OOM in make_nonnull_XXX methods
by Daniel P. Berrangé 13 Dec '18
by Daniel P. Berrangé 13 Dec '18
13 Dec '18
The make_nonnull_XXX methods can all fail due to OOM but this was being
silently ignored and thus also not checked by callers. Make the methods
propagate errors and use ATTRIBUTE_RETURN_CHECK to force callers to deal
with it.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
src/admin/admin_server_dispatch.c | 9 +-
src/remote/remote_daemon_dispatch.c | 393 +++++++++++++++++++++-------
src/rpc/gendispatch.pl | 19 +-
3 files changed, 315 insertions(+), 106 deletions(-)
diff --git a/src/admin/admin_server_dispatch.c b/src/admin/admin_server_dispatch.c
index b78ff902c0..9fa2893fa3 100644
--- a/src/admin/admin_server_dispatch.c
+++ b/src/admin/admin_server_dispatch.c
@@ -115,11 +115,13 @@ get_nonnull_server(virNetDaemonPtr dmn, admin_nonnull_server srv)
return virNetDaemonGetServer(dmn, srv.name);
}
-static void
+static int ATTRIBUTE_RETURN_CHECK
make_nonnull_server(admin_nonnull_server *srv_dst,
virNetServerPtr srv_src)
{
- ignore_value(VIR_STRDUP_QUIET(srv_dst->name, virNetServerGetName(srv_src)));
+ if (VIR_STRDUP(srv_dst->name, virNetServerGetName(srv_src)) < 0)
+ return -1;
+ return 0;
}
static virNetServerClientPtr
@@ -128,13 +130,14 @@ get_nonnull_client(virNetServerPtr srv, admin_nonnull_client clnt)
return virNetServerGetClient(srv, clnt.id);
}
-static void
+static int
make_nonnull_client(admin_nonnull_client *clt_dst,
virNetServerClientPtr clt_src)
{
clt_dst->id = virNetServerClientGetID(clt_src);
clt_dst->timestamp = virNetServerClientGetTimestamp(clt_src);
clt_dst->transport = virNetServerClientGetTransport(clt_src);
+ return 0;
}
/* Functions */
diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon_dispatch.c
index e62ebfb596..73a9434700 100644
--- a/src/remote/remote_daemon_dispatch.c
+++ b/src/remote/remote_daemon_dispatch.c
@@ -93,16 +93,16 @@ static virNWFilterPtr get_nonnull_nwfilter(virConnectPtr conn, remote_nonnull_nw
static virNWFilterBindingPtr get_nonnull_nwfilter_binding(virConnectPtr conn, remote_nonnull_nwfilter_binding binding);
static virDomainSnapshotPtr get_nonnull_domain_snapshot(virDomainPtr dom, remote_nonnull_domain_snapshot snapshot);
static virNodeDevicePtr get_nonnull_node_device(virConnectPtr conn, remote_nonnull_node_device dev);
-static void make_nonnull_domain(remote_nonnull_domain *dom_dst, virDomainPtr dom_src);
-static void make_nonnull_network(remote_nonnull_network *net_dst, virNetworkPtr net_src);
-static void make_nonnull_interface(remote_nonnull_interface *interface_dst, virInterfacePtr interface_src);
-static void make_nonnull_storage_pool(remote_nonnull_storage_pool *pool_dst, virStoragePoolPtr pool_src);
-static void make_nonnull_storage_vol(remote_nonnull_storage_vol *vol_dst, virStorageVolPtr vol_src);
-static void make_nonnull_node_device(remote_nonnull_node_device *dev_dst, virNodeDevicePtr dev_src);
-static void make_nonnull_secret(remote_nonnull_secret *secret_dst, virSecretPtr secret_src);
-static void make_nonnull_nwfilter(remote_nonnull_nwfilter *net_dst, virNWFilterPtr nwfilter_src);
-static void make_nonnull_nwfilter_binding(remote_nonnull_nwfilter_binding *binding_dst, virNWFilterBindingPtr binding_src);
-static void make_nonnull_domain_snapshot(remote_nonnull_domain_snapshot *snapshot_dst, virDomainSnapshotPtr snapshot_src);
+static int make_nonnull_domain(remote_nonnull_domain *dom_dst, virDomainPtr dom_src) ATTRIBUTE_RETURN_CHECK;
+static int make_nonnull_network(remote_nonnull_network *net_dst, virNetworkPtr net_src) ATTRIBUTE_RETURN_CHECK;
+static int make_nonnull_interface(remote_nonnull_interface *interface_dst, virInterfacePtr interface_src) ATTRIBUTE_RETURN_CHECK;
+static int make_nonnull_storage_pool(remote_nonnull_storage_pool *pool_dst, virStoragePoolPtr pool_src) ATTRIBUTE_RETURN_CHECK;
+static int make_nonnull_storage_vol(remote_nonnull_storage_vol *vol_dst, virStorageVolPtr vol_src) ATTRIBUTE_RETURN_CHECK;
+static int make_nonnull_node_device(remote_nonnull_node_device *dev_dst, virNodeDevicePtr dev_src) ATTRIBUTE_RETURN_CHECK;
+static int make_nonnull_secret(remote_nonnull_secret *secret_dst, virSecretPtr secret_src) ATTRIBUTE_RETURN_CHECK;
+static int make_nonnull_nwfilter(remote_nonnull_nwfilter *net_dst, virNWFilterPtr nwfilter_src) ATTRIBUTE_RETURN_CHECK;
+static int make_nonnull_nwfilter_binding(remote_nonnull_nwfilter_binding *binding_dst, virNWFilterBindingPtr binding_src) ATTRIBUTE_RETURN_CHECK;
+static int make_nonnull_domain_snapshot(remote_nonnull_domain_snapshot *snapshot_dst, virDomainSnapshotPtr snapshot_src) ATTRIBUTE_RETURN_CHECK;
static int
remoteSerializeDomainDiskErrors(virDomainDiskErrorPtr errors,
@@ -315,7 +315,8 @@ remoteRelayDomainEventLifecycle(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
data.event = event;
data.detail = detail;
@@ -335,6 +336,11 @@ remoteRelayDomainEventLifecycle(virConnectPtr conn,
}
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_lifecycle_msg,
+ &data);
+ return -1;
}
static int
@@ -354,7 +360,8 @@ remoteRelayDomainEventReboot(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
if (callback->legacy) {
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -370,6 +377,11 @@ remoteRelayDomainEventReboot(virConnectPtr conn,
}
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_reboot_msg,
+ &data);
+ return -1;
}
@@ -392,7 +404,8 @@ remoteRelayDomainEventRTCChange(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
data.offset = offset;
if (callback->legacy) {
@@ -409,6 +422,11 @@ remoteRelayDomainEventRTCChange(virConnectPtr conn,
}
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_rtc_change_msg,
+ &data);
+ return -1;
}
@@ -430,7 +448,8 @@ remoteRelayDomainEventWatchdog(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
data.action = action;
if (callback->legacy) {
@@ -447,6 +466,11 @@ remoteRelayDomainEventWatchdog(virConnectPtr conn,
}
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_watchdog_msg,
+ &data);
+ return -1;
}
@@ -474,7 +498,8 @@ remoteRelayDomainEventIOError(virConnectPtr conn,
if (VIR_STRDUP(data.srcPath, srcPath) < 0 ||
VIR_STRDUP(data.devAlias, devAlias) < 0)
goto error;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
data.action = action;
if (callback->legacy) {
@@ -492,8 +517,8 @@ remoteRelayDomainEventIOError(virConnectPtr conn,
return 0;
error:
- VIR_FREE(data.srcPath);
- VIR_FREE(data.devAlias);
+ xdr_free((xdrproc_t)xdr_remote_domain_event_io_error_msg,
+ &data);
return -1;
}
@@ -526,7 +551,8 @@ remoteRelayDomainEventIOErrorReason(virConnectPtr conn,
goto error;
data.action = action;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
if (callback->legacy) {
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -544,9 +570,8 @@ remoteRelayDomainEventIOErrorReason(virConnectPtr conn,
return 0;
error:
- VIR_FREE(data.srcPath);
- VIR_FREE(data.devAlias);
- VIR_FREE(data.reason);
+ xdr_free((xdrproc_t)xdr_remote_domain_event_io_error_reason_msg,
+ &data);
return -1;
}
@@ -600,7 +625,8 @@ remoteRelayDomainEventGraphics(virConnectPtr conn,
VIR_STRDUP(data.subject.subject_val[i].name, subject->identities[i].name) < 0)
goto error;
}
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
if (callback->legacy) {
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -618,18 +644,8 @@ remoteRelayDomainEventGraphics(virConnectPtr conn,
return 0;
error:
- VIR_FREE(data.authScheme);
- VIR_FREE(data.local.node);
- VIR_FREE(data.local.service);
- VIR_FREE(data.remote.node);
- VIR_FREE(data.remote.service);
- if (data.subject.subject_val != NULL) {
- for (i = 0; i < data.subject.subject_len; i++) {
- VIR_FREE(data.subject.subject_val[i].type);
- VIR_FREE(data.subject.subject_val[i].name);
- }
- VIR_FREE(data.subject.subject_val);
- }
+ xdr_free((xdrproc_t)xdr_remote_domain_event_graphics_msg,
+ &data);
return -1;
}
@@ -657,7 +673,8 @@ remoteRelayDomainEventBlockJob(virConnectPtr conn,
return -1;
data.type = type;
data.status = status;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
if (callback->legacy) {
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -673,6 +690,11 @@ remoteRelayDomainEventBlockJob(virConnectPtr conn,
}
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_block_job_msg,
+ &data);
+ return -1;
}
@@ -693,7 +715,8 @@ remoteRelayDomainEventControlError(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
if (callback->legacy) {
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -709,6 +732,11 @@ remoteRelayDomainEventControlError(virConnectPtr conn,
}
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_control_error_msg,
+ &data);
+ return -1;
}
@@ -751,7 +779,8 @@ remoteRelayDomainEventDiskChange(virConnectPtr conn,
goto error;
data.reason = reason;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
if (callback->legacy) {
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -769,8 +798,8 @@ remoteRelayDomainEventDiskChange(virConnectPtr conn,
return 0;
error:
- VIR_FREE(oldSrcPath_p);
- VIR_FREE(newSrcPath_p);
+ xdr_free((xdrproc_t)xdr_remote_domain_event_disk_change_msg,
+ &data);
return -1;
}
@@ -799,7 +828,8 @@ remoteRelayDomainEventTrayChange(virConnectPtr conn,
return -1;
data.reason = reason;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
if (callback->legacy) {
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -815,6 +845,11 @@ remoteRelayDomainEventTrayChange(virConnectPtr conn,
}
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_tray_change_msg,
+ &data);
+ return -1;
}
static int
@@ -835,7 +870,8 @@ remoteRelayDomainEventPMWakeup(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
if (callback->legacy) {
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -851,6 +887,11 @@ remoteRelayDomainEventPMWakeup(virConnectPtr conn,
}
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_pmwakeup_msg,
+ &data);
+ return -1;
}
static int
@@ -871,7 +912,8 @@ remoteRelayDomainEventPMSuspend(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
if (callback->legacy) {
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -887,6 +929,11 @@ remoteRelayDomainEventPMSuspend(virConnectPtr conn,
}
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_pmsuspend_msg,
+ &data);
+ return -1;
}
static int
@@ -907,7 +954,8 @@ remoteRelayDomainEventBalloonChange(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
data.actual = actual;
if (callback->legacy) {
@@ -924,6 +972,11 @@ remoteRelayDomainEventBalloonChange(virConnectPtr conn,
}
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_balloon_change_msg,
+ &data);
+ return -1;
}
@@ -945,7 +998,8 @@ remoteRelayDomainEventPMSuspendDisk(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
if (callback->legacy) {
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -961,6 +1015,11 @@ remoteRelayDomainEventPMSuspendDisk(virConnectPtr conn,
}
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_pmsuspend_disk_msg,
+ &data);
+ return -1;
}
static int
@@ -985,7 +1044,8 @@ remoteRelayDomainEventDeviceRemoved(virConnectPtr conn,
if (VIR_STRDUP(data.devAlias, devAlias) < 0)
return -1;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
if (callback->legacy) {
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -1003,6 +1063,11 @@ remoteRelayDomainEventDeviceRemoved(virConnectPtr conn,
}
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_device_removed_msg,
+ &data);
+ return -1;
}
@@ -1031,13 +1096,19 @@ remoteRelayDomainEventBlockJob2(virConnectPtr conn,
return -1;
data.type = type;
data.status = status;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
remoteDispatchObjectEventSend(callback->client, remoteProgram,
REMOTE_PROC_DOMAIN_EVENT_BLOCK_JOB_2,
(xdrproc_t)xdr_remote_domain_event_block_job_2_msg, &data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_block_job_2_msg,
+ &data);
+ return -1;
}
@@ -1061,7 +1132,8 @@ remoteRelayDomainEventTunable(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
data.callbackID = callback->callbackID;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
if (virTypedParamsSerialize(params, nparams,
(virTypedParameterRemotePtr *) &data.params.params_val,
@@ -1077,6 +1149,11 @@ remoteRelayDomainEventTunable(virConnectPtr conn,
&data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_callback_tunable_msg,
+ &data);
+ return -1;
}
@@ -1101,7 +1178,8 @@ remoteRelayDomainEventAgentLifecycle(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
data.callbackID = callback->callbackID;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
data.state = state;
data.reason = reason;
@@ -1112,6 +1190,11 @@ remoteRelayDomainEventAgentLifecycle(virConnectPtr conn,
&data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_callback_agent_lifecycle_msg,
+ &data);
+ return -1;
}
@@ -1137,7 +1220,8 @@ remoteRelayDomainEventDeviceAdded(virConnectPtr conn,
if (VIR_STRDUP(data.devAlias, devAlias) < 0)
return -1;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
data.callbackID = callback->callbackID;
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -1146,6 +1230,11 @@ remoteRelayDomainEventDeviceAdded(virConnectPtr conn,
&data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_callback_device_added_msg,
+ &data);
+ return -1;
}
@@ -1169,7 +1258,8 @@ remoteRelayDomainEventMigrationIteration(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
data.callbackID = callback->callbackID;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
data.iteration = iteration;
@@ -1179,6 +1269,11 @@ remoteRelayDomainEventMigrationIteration(virConnectPtr conn,
&data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_callback_migration_iteration_msg,
+ &data);
+ return -1;
}
@@ -1203,7 +1298,8 @@ remoteRelayDomainEventJobCompleted(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
data.callbackID = callback->callbackID;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
if (virTypedParamsSerialize(params, nparams,
(virTypedParameterRemotePtr *) &data.params.params_val,
@@ -1218,6 +1314,11 @@ remoteRelayDomainEventJobCompleted(virConnectPtr conn,
(xdrproc_t)xdr_remote_domain_event_callback_job_completed_msg,
&data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_callback_job_completed_msg,
+ &data);
+ return -1;
}
@@ -1243,7 +1344,8 @@ remoteRelayDomainEventDeviceRemovalFailed(virConnectPtr conn,
if (VIR_STRDUP(data.devAlias, devAlias) < 0)
return -1;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
data.callbackID = callback->callbackID;
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -1252,6 +1354,11 @@ remoteRelayDomainEventDeviceRemovalFailed(virConnectPtr conn,
&data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_callback_device_removal_failed_msg,
+ &data);
+ return -1;
}
@@ -1287,7 +1394,8 @@ remoteRelayDomainEventMetadataChange(virConnectPtr conn,
data.nsuri = nsurip;
}
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
data.callbackID = callback->callbackID;
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -1296,6 +1404,11 @@ remoteRelayDomainEventMetadataChange(virConnectPtr conn,
&data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_domain_event_callback_metadata_change_msg,
+ &data);
+ return -1;
}
@@ -1331,15 +1444,18 @@ remoteRelayDomainEventBlockThreshold(virConnectPtr conn,
}
data.threshold = threshold;
data.excess = excess;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
remoteDispatchObjectEventSend(callback->client, remoteProgram,
REMOTE_PROC_DOMAIN_EVENT_BLOCK_THRESHOLD,
(xdrproc_t)xdr_remote_domain_event_block_threshold_msg, &data);
return 0;
+
error:
- VIR_FREE(data.dev);
+ xdr_free((xdrproc_t)xdr_remote_domain_event_block_threshold_msg,
+ &data);
return -1;
}
@@ -1393,7 +1509,8 @@ remoteRelayNetworkEventLifecycle(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_network(&data.net, net);
+ if (make_nonnull_network(&data.net, net) < 0)
+ goto error;
data.callbackID = callback->callbackID;
data.event = event;
data.detail = detail;
@@ -1403,6 +1520,11 @@ remoteRelayNetworkEventLifecycle(virConnectPtr conn,
(xdrproc_t)xdr_remote_network_event_lifecycle_msg, &data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_network_event_lifecycle_msg,
+ &data);
+ return -1;
}
static virConnectNetworkEventGenericCallback networkEventCallbacks[] = {
@@ -1430,7 +1552,8 @@ remoteRelayStoragePoolEventLifecycle(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_storage_pool(&data.pool, pool);
+ if (make_nonnull_storage_pool(&data.pool, pool) < 0)
+ goto error;
data.callbackID = callback->callbackID;
data.event = event;
data.detail = detail;
@@ -1441,6 +1564,11 @@ remoteRelayStoragePoolEventLifecycle(virConnectPtr conn,
&data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_storage_pool_event_lifecycle_msg,
+ &data);
+ return -1;
}
static int
@@ -1460,7 +1588,8 @@ remoteRelayStoragePoolEventRefresh(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_storage_pool(&data.pool, pool);
+ if (make_nonnull_storage_pool(&data.pool, pool) < 0)
+ goto error;
data.callbackID = callback->callbackID;
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -1469,6 +1598,11 @@ remoteRelayStoragePoolEventRefresh(virConnectPtr conn,
&data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_storage_pool_event_refresh_msg,
+ &data);
+ return -1;
}
static virConnectStoragePoolEventGenericCallback storageEventCallbacks[] = {
@@ -1497,7 +1631,8 @@ remoteRelayNodeDeviceEventLifecycle(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_node_device(&data.dev, dev);
+ if (make_nonnull_node_device(&data.dev, dev) < 0)
+ goto error;
data.callbackID = callback->callbackID;
data.event = event;
data.detail = detail;
@@ -1508,6 +1643,11 @@ remoteRelayNodeDeviceEventLifecycle(virConnectPtr conn,
&data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_node_device_event_lifecycle_msg,
+ &data);
+ return -1;
}
static int
@@ -1527,7 +1667,8 @@ remoteRelayNodeDeviceEventUpdate(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_node_device(&data.dev, dev);
+ if (make_nonnull_node_device(&data.dev, dev) < 0)
+ goto error;
data.callbackID = callback->callbackID;
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -1536,6 +1677,11 @@ remoteRelayNodeDeviceEventUpdate(virConnectPtr conn,
&data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_node_device_event_update_msg,
+ &data);
+ return -1;
}
static virConnectNodeDeviceEventGenericCallback nodeDeviceEventCallbacks[] = {
@@ -1564,7 +1710,8 @@ remoteRelaySecretEventLifecycle(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_secret(&data.secret, secret);
+ if (make_nonnull_secret(&data.secret, secret) < 0)
+ goto error;
data.callbackID = callback->callbackID;
data.event = event;
data.detail = detail;
@@ -1575,6 +1722,11 @@ remoteRelaySecretEventLifecycle(virConnectPtr conn,
&data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_secret_event_lifecycle_msg,
+ &data);
+ return -1;
}
static int
@@ -1594,7 +1746,8 @@ remoteRelaySecretEventValueChanged(virConnectPtr conn,
/* build return data */
memset(&data, 0, sizeof(data));
- make_nonnull_secret(&data.secret, secret);
+ if (make_nonnull_secret(&data.secret, secret) < 0)
+ goto error;
data.callbackID = callback->callbackID;
remoteDispatchObjectEventSend(callback->client, remoteProgram,
@@ -1603,6 +1756,11 @@ remoteRelaySecretEventValueChanged(virConnectPtr conn,
&data);
return 0;
+
+ error:
+ xdr_free((xdrproc_t)xdr_remote_secret_event_value_changed_msg,
+ &data);
+ return -1;
}
static virConnectSecretEventGenericCallback secretEventCallbacks[] = {
@@ -1645,7 +1803,8 @@ remoteRelayDomainQemuMonitorEvent(virConnectPtr conn,
VIR_STRDUP(*details_p, details) < 0))
goto error;
data.details = details_p;
- make_nonnull_domain(&data.dom, dom);
+ if (make_nonnull_domain(&data.dom, dom) < 0)
+ goto error;
remoteDispatchObjectEventSend(callback->client, qemuProgram,
QEMU_PROC_DOMAIN_MONITOR_EVENT,
@@ -1654,8 +1813,9 @@ remoteRelayDomainQemuMonitorEvent(virConnectPtr conn,
return;
error:
- VIR_FREE(data.event);
- VIR_FREE(details_p);
+ xdr_free((xdrproc_t)xdr_qemu_domain_monitor_event_msg,
+ &data);
+ return;
}
static
@@ -4649,7 +4809,8 @@ remoteDispatchDomainMigrateFinish3(virNetServerPtr server ATTRIBUTE_UNUSED,
args->cancelled)))
goto cleanup;
- make_nonnull_domain(&ret->dom, dom);
+ if (make_nonnull_domain(&ret->dom, dom) < 0)
+ goto cleanup;
/* remoteDispatchClientRequest will free cookie
*/
@@ -5585,7 +5746,8 @@ remoteDispatchDomainMigrateFinish3Params(virNetServerPtr server ATTRIBUTE_UNUSED
if (!dom)
goto cleanup;
- make_nonnull_domain(&ret->dom, dom);
+ if (make_nonnull_domain(&ret->dom, dom) < 0)
+ goto cleanup;
ret->cookie_out.cookie_out_len = cookieoutlen;
ret->cookie_out.cookie_out_val = cookieout;
@@ -5740,7 +5902,9 @@ remoteDispatchDomainCreateXMLWithFiles(virNetServerPtr server ATTRIBUTE_UNUSED,
args->flags)) == NULL)
goto cleanup;
- make_nonnull_domain(&ret->dom, dom);
+ if (make_nonnull_domain(&ret->dom, dom) < 0)
+ goto cleanup;
+
rv = 0;
cleanup:
@@ -5790,7 +5954,9 @@ static int remoteDispatchDomainCreateWithFiles(virNetServerPtr server ATTRIBUTE_
args->flags) < 0)
goto cleanup;
- make_nonnull_domain(&ret->dom, dom);
+ if (make_nonnull_domain(&ret->dom, dom) < 0)
+ goto cleanup;
+
rv = 0;
cleanup:
@@ -6686,7 +6852,8 @@ remoteDispatchConnectGetAllDomainStats(virNetServerPtr server ATTRIBUTE_UNUSED,
for (i = 0; i < nrecords; i++) {
remote_domain_stats_record *dst = ret->retStats.retStats_val + i;
- make_nonnull_domain(&dst->dom, retStats[i]->dom);
+ if (make_nonnull_domain(&dst->dom, retStats[i]->dom) < 0)
+ goto cleanup;
if (virTypedParamsSerialize(retStats[i]->params,
retStats[i]->nparams,
@@ -7106,77 +7273,113 @@ get_nonnull_node_device(virConnectPtr conn, remote_nonnull_node_device dev)
}
/* Make remote_nonnull_domain and remote_nonnull_network. */
-static void
+static int
make_nonnull_domain(remote_nonnull_domain *dom_dst, virDomainPtr dom_src)
{
dom_dst->id = dom_src->id;
- ignore_value(VIR_STRDUP_QUIET(dom_dst->name, dom_src->name));
+ if (VIR_STRDUP(dom_dst->name, dom_src->name) < 0)
+ return -1;
memcpy(dom_dst->uuid, dom_src->uuid, VIR_UUID_BUFLEN);
+ return 0;
}
-static void
+static int
make_nonnull_network(remote_nonnull_network *net_dst, virNetworkPtr net_src)
{
- ignore_value(VIR_STRDUP_QUIET(net_dst->name, net_src->name));
+ if (VIR_STRDUP(net_dst->name, net_src->name) < 0)
+ return -1;
memcpy(net_dst->uuid, net_src->uuid, VIR_UUID_BUFLEN);
+ return 0;
}
-static void
+static int
make_nonnull_interface(remote_nonnull_interface *interface_dst,
virInterfacePtr interface_src)
{
- ignore_value(VIR_STRDUP_QUIET(interface_dst->name, interface_src->name));
- ignore_value(VIR_STRDUP_QUIET(interface_dst->mac, interface_src->mac));
+ if (VIR_STRDUP(interface_dst->name, interface_src->name) < 0)
+ return -1;
+ if (VIR_STRDUP(interface_dst->mac, interface_src->mac) < 0) {
+ VIR_FREE(interface_dst->name);
+ return -1;
+ }
+ return 0;
}
-static void
+static int
make_nonnull_storage_pool(remote_nonnull_storage_pool *pool_dst, virStoragePoolPtr pool_src)
{
- ignore_value(VIR_STRDUP_QUIET(pool_dst->name, pool_src->name));
+ if (VIR_STRDUP(pool_dst->name, pool_src->name) < 0)
+ return -1;
memcpy(pool_dst->uuid, pool_src->uuid, VIR_UUID_BUFLEN);
+ return 0;
}
-static void
+static int
make_nonnull_storage_vol(remote_nonnull_storage_vol *vol_dst, virStorageVolPtr vol_src)
{
- ignore_value(VIR_STRDUP_QUIET(vol_dst->pool, vol_src->pool));
- ignore_value(VIR_STRDUP_QUIET(vol_dst->name, vol_src->name));
- ignore_value(VIR_STRDUP_QUIET(vol_dst->key, vol_src->key));
+ if (VIR_STRDUP(vol_dst->pool, vol_src->pool) < 0)
+ return -1;
+ if (VIR_STRDUP(vol_dst->name, vol_src->name) < 0) {
+ VIR_FREE(vol_dst->pool);
+ return -1;
+ }
+ if (VIR_STRDUP(vol_dst->key, vol_src->key) < 0) {
+ VIR_FREE(vol_dst->pool);
+ VIR_FREE(vol_dst->name);
+ return -1;
+ }
+ return 0;
}
-static void
+static int
make_nonnull_node_device(remote_nonnull_node_device *dev_dst, virNodeDevicePtr dev_src)
{
- ignore_value(VIR_STRDUP_QUIET(dev_dst->name, dev_src->name));
+ if (VIR_STRDUP(dev_dst->name, dev_src->name) < 0)
+ return -1;
+ return 0;
}
-static void
+static int
make_nonnull_secret(remote_nonnull_secret *secret_dst, virSecretPtr secret_src)
{
memcpy(secret_dst->uuid, secret_src->uuid, VIR_UUID_BUFLEN);
secret_dst->usageType = secret_src->usageType;
- ignore_value(VIR_STRDUP_QUIET(secret_dst->usageID, secret_src->usageID));
+ if (VIR_STRDUP(secret_dst->usageID, secret_src->usageID) < 0)
+ return -1;
+ return 0;
}
-static void
+static int
make_nonnull_nwfilter(remote_nonnull_nwfilter *nwfilter_dst, virNWFilterPtr nwfilter_src)
{
- ignore_value(VIR_STRDUP_QUIET(nwfilter_dst->name, nwfilter_src->name));
+ if (VIR_STRDUP(nwfilter_dst->name, nwfilter_src->name) < 0)
+ return -1;
memcpy(nwfilter_dst->uuid, nwfilter_src->uuid, VIR_UUID_BUFLEN);
+ return 0;
}
-static void
+static int
make_nonnull_nwfilter_binding(remote_nonnull_nwfilter_binding *binding_dst, virNWFilterBindingPtr binding_src)
{
- ignore_value(VIR_STRDUP_QUIET(binding_dst->portdev, binding_src->portdev));
- ignore_value(VIR_STRDUP_QUIET(binding_dst->filtername, binding_src->filtername));
+ if (VIR_STRDUP(binding_dst->portdev, binding_src->portdev) < 0)
+ return -1;
+ if (VIR_STRDUP(binding_dst->filtername, binding_src->filtername) < 0) {
+ VIR_FREE(binding_dst->portdev);
+ return -1;
+ }
+ return 0;
}
-static void
+static int
make_nonnull_domain_snapshot(remote_nonnull_domain_snapshot *snapshot_dst, virDomainSnapshotPtr snapshot_src)
{
- ignore_value(VIR_STRDUP_QUIET(snapshot_dst->name, snapshot_src->name));
- make_nonnull_domain(&snapshot_dst->dom, snapshot_src->domain);
+ if (VIR_STRDUP(snapshot_dst->name, snapshot_src->name) < 0)
+ return -1;
+ if (make_nonnull_domain(&snapshot_dst->dom, snapshot_src->domain) < 0) {
+ VIR_FREE(snapshot_dst->name);
+ return -1;
+ }
+ return 0;
}
static int
diff --git a/src/rpc/gendispatch.pl b/src/rpc/gendispatch.pl
index a8b9f5aeca..ce4db5d7b7 100755
--- a/src/rpc/gendispatch.pl
+++ b/src/rpc/gendispatch.pl
@@ -786,12 +786,12 @@ elsif ($mode eq "server") {
if ($call->{ProcName} eq "DomainCreateWithFlags") {
# SPECIAL: virDomainCreateWithFlags updates the given
# domain object instead of returning a new one
- push(@ret_list, "make_nonnull_$1(&ret->$2, $2);");
+ push(@ret_list, "if (make_nonnull_$1(&ret->$2, $2) < 0)\n goto cleanup;\n");
$single_ret_var = undef;
$single_ret_by_ref = 1;
} else {
push(@vars_list, "vir${type_name}Ptr $2 = NULL");
- push(@ret_list, "make_nonnull_$1(&ret->$2, $2);");
+ push(@ret_list, "if (make_nonnull_$1(&ret->$2, $2) < 0)\n goto cleanup;\n");
push(@free_list,
" virObjectUnref($2);");
$single_ret_var = $2;
@@ -907,11 +907,11 @@ elsif ($mode eq "server") {
if ($1 eq "client") {
push(@vars_list, "virNetServer${type_name}Ptr $2 = NULL");
- push(@ret_list, "make_nonnull_$1(&ret->$2, $2);");
- push(@ret_list, "make_nonnull_server(&ret->$2.srv, srv);");
+ push(@ret_list, "if (make_nonnull_$1(&ret->$2, $2) < 0)\n goto cleanup;\n");
+ push(@ret_list, "if (make_nonnull_server(&ret->$2.srv, srv) < 0)\n goto cleanup;\n");
} else {
push(@vars_list, "virNet${type_name}Ptr $2 = NULL");
- push(@ret_list, "make_nonnull_$1(&ret->$2, $2);");
+ push(@ret_list, "if (make_nonnull_$1(&ret->$2, $2) < 0)\n goto cleanup;\n");
}
push(@free_list,
@@ -1175,12 +1175,15 @@ elsif ($mode eq "server") {
print " ret->$single_ret_list_name.${single_ret_list_name}_len = nresults;\n";
if ($modern_ret_is_nested) {
print " for (i = 0; i < nresults; i++) {\n";
- print " make_nonnull_$modern_ret_struct_name(ret->$single_ret_list_name.${single_ret_list_name}_val + i, result[i]);\n";
- print " make_nonnull_$modern_ret_nested_struct_name(&ret->$single_ret_list_name.${single_ret_list_name}_val[i].srv, srv);\n";
+ print " if (make_nonnull_$modern_ret_struct_name(ret->$single_ret_list_name.${single_ret_list_name}_val + i, result[i]) < 0)\n";
+ print " goto cleanup;\n";
+ print " if (make_nonnull_$modern_ret_nested_struct_name(&ret->$single_ret_list_name.${single_ret_list_name}_val[i].srv, srv) < 0)\n";
+ print " goto cleanup;\n";
print " }\n";
} else {
print " for (i = 0; i < nresults; i++)\n";
- print " make_nonnull_$modern_ret_struct_name(ret->$single_ret_list_name.${single_ret_list_name}_val + i, result[i]);\n";
+ print " if (make_nonnull_$modern_ret_struct_name(ret->$single_ret_list_name.${single_ret_list_name}_val + i, result[i]) < 0)\n";
+ print " goto cleanup;\n";
}
print " } else {\n";
print " ret->$single_ret_list_name.${single_ret_list_name}_len = 0;\n";
--
2.19.2
2
1
[libvirt] [PATCH] Remove all Author(s): lines from source file headers
by Daniel P. Berrangé 13 Dec '18
by Daniel P. Berrangé 13 Dec '18
13 Dec '18
In many files there are header comments that contain an Author:
statement, supposedly reflecting who originally wrote the code.
In a large collaborative project like libvirt, any non-trivial
file will have been modified by a large number of different
contributors. IOW, the Author: comments are quickly out of date,
omitting people who have made significant contribitions.
In some places Author: lines have been added despite the person
merely being responsible for creating the file by moving existing
code out of another file. IOW, the Author: lines give an incorrect
record of authorship.
With this all in mind, the comments are useless as a means to identify
who to talk to about code in a particular file. Contributors will always
be better off using 'git log' and 'git blame' if they need to find the
author of a particular bit of code.
This commit thus deletes all Author: comments from the source and adds
a rule to prevent them reappearing.
The Copyright headers are similarly misleading and inaccurate, however,
we cannot delete these as they have legal meaning, despite being largely
inaccurate. In addition only the copyright holder is permitted to change
their respective copyright statement.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
build-aux/augeas-gentest.pl | 3 ---
build-aux/check-spacing.pl | 3 ---
cfg.mk | 5 +++++
docs/reformat-news.py | 3 ---
examples/domsuspend/suspend.c | 2 --
examples/domtop/domtop.c | 2 --
examples/lxcconvert/virt-lxc-convert | 1 -
examples/systemtap/events.stp | 1 -
examples/systemtap/lock-debug.stp | 1 -
examples/systemtap/qemu-monitor.stp | 1 -
examples/systemtap/rpc-monitor.stp | 1 -
include/libvirt/libvirt-admin.h | 2 --
include/libvirt/libvirt-common.h.in | 1 -
include/libvirt/libvirt-domain-snapshot.h | 1 -
include/libvirt/libvirt-domain.h | 1 -
include/libvirt/libvirt-event.h | 1 -
include/libvirt/libvirt-host.h | 1 -
include/libvirt/libvirt-interface.h | 1 -
include/libvirt/libvirt-lxc.h | 2 --
include/libvirt/libvirt-network.h | 1 -
include/libvirt/libvirt-nodedev.h | 1 -
include/libvirt/libvirt-nwfilter.h | 1 -
include/libvirt/libvirt-qemu.h | 2 --
include/libvirt/libvirt-secret.h | 1 -
include/libvirt/libvirt-storage.h | 1 -
include/libvirt/libvirt-stream.h | 1 -
include/libvirt/libvirt.h | 2 --
include/libvirt/virterror.h | 2 --
src/admin/admin_protocol.x | 2 --
src/admin/admin_remote.c | 2 --
src/admin/admin_server.c | 3 ---
src/admin/admin_server.h | 3 ---
src/admin/admin_server_dispatch.c | 2 --
src/admin/admin_server_dispatch.h | 2 --
src/bhyve/bhyve_device.c | 2 --
src/bhyve/bhyve_device.h | 2 --
src/bhyve/bhyve_domain.c | 2 --
src/bhyve/bhyve_domain.h | 2 --
src/bhyve/bhyve_driver.c | 2 --
src/bhyve/bhyve_driver.h | 2 --
src/bhyve/bhyve_monitor.c | 2 --
src/bhyve/bhyve_monitor.h | 2 --
src/bhyve/bhyve_parse_command.c | 2 --
src/bhyve/bhyve_parse_command.h | 2 --
src/conf/capabilities.c | 2 --
src/conf/capabilities.h | 2 --
src/conf/cpu_conf.c | 3 ---
src/conf/cpu_conf.h | 3 ---
src/conf/device_conf.c | 2 --
src/conf/device_conf.h | 2 --
src/conf/domain_addr.c | 2 --
src/conf/domain_addr.h | 2 --
src/conf/domain_audit.c | 2 --
src/conf/domain_audit.h | 2 --
src/conf/domain_capabilities.c | 2 --
src/conf/domain_capabilities.h | 2 --
src/conf/domain_conf.c | 2 --
src/conf/domain_conf.h | 2 --
src/conf/domain_event.c | 2 --
src/conf/domain_event.h | 2 --
src/conf/domain_nwfilter.c | 2 --
src/conf/domain_nwfilter.h | 2 --
src/conf/interface_conf.c | 2 --
src/conf/interface_conf.h | 2 --
src/conf/netdev_bandwidth_conf.c | 4 ----
src/conf/netdev_bandwidth_conf.h | 4 ----
src/conf/netdev_vlan_conf.c | 4 ----
src/conf/netdev_vlan_conf.h | 3 ---
src/conf/netdev_vport_profile_conf.c | 4 ----
src/conf/netdev_vport_profile_conf.h | 4 ----
src/conf/network_conf.c | 2 --
src/conf/network_conf.h | 2 --
src/conf/network_event.c | 2 --
src/conf/network_event.h | 2 --
src/conf/networkcommon_conf.c | 2 --
src/conf/networkcommon_conf.h | 2 --
src/conf/node_device_conf.c | 2 --
src/conf/node_device_conf.h | 2 --
src/conf/numa_conf.c | 2 --
src/conf/numa_conf.h | 2 --
src/conf/nwfilter_conf.c | 2 --
src/conf/nwfilter_conf.h | 2 --
src/conf/nwfilter_ipaddrmap.c | 3 ---
src/conf/nwfilter_ipaddrmap.h | 3 ---
src/conf/nwfilter_params.c | 2 --
src/conf/nwfilter_params.h | 2 --
src/conf/object_event.c | 2 --
src/conf/object_event.h | 2 --
src/conf/object_event_private.h | 2 --
src/conf/secret_conf.c | 2 --
src/conf/secret_conf.h | 2 --
src/conf/snapshot_conf.c | 2 --
src/conf/snapshot_conf.h | 2 --
src/conf/storage_conf.c | 2 --
src/conf/storage_conf.h | 2 --
src/conf/virchrdev.c | 2 --
src/conf/virchrdev.h | 2 --
src/conf/virdomainobjlist.c | 2 --
src/conf/virdomainobjlist.h | 2 --
src/conf/virnwfilterbindingobjlist.c | 2 --
src/conf/virnwfilterbindingobjlist.h | 2 --
src/cpu/cpu.c | 3 ---
src/cpu/cpu.h | 3 ---
src/cpu/cpu_arm.c | 3 ---
src/cpu/cpu_arm.h | 3 ---
src/cpu/cpu_map.c | 3 ---
src/cpu/cpu_map.h | 3 ---
src/cpu/cpu_ppc64.c | 5 -----
src/cpu/cpu_ppc64.h | 4 ----
src/cpu/cpu_ppc64_data.h | 3 ---
src/cpu/cpu_s390.c | 3 ---
src/cpu/cpu_s390.h | 3 ---
src/cpu/cpu_x86.c | 3 ---
src/cpu/cpu_x86.h | 3 ---
src/cpu/cpu_x86_data.h | 3 ---
src/dtrace2systemtap.pl | 1 -
src/interface/interface_backend_netcf.c | 2 --
src/interface/interface_driver.h | 2 --
src/libvirt-admin.c | 2 --
src/libvirt-lxc.c | 2 --
src/libvirt-qemu.c | 2 --
src/libxl/libxl_capabilities.c | 2 --
src/libxl/libxl_capabilities.h | 2 --
src/libxl/libxl_conf.c | 4 ----
src/libxl/libxl_conf.h | 4 ----
src/libxl/libxl_domain.c | 3 ---
src/libxl/libxl_domain.h | 3 ---
src/libxl/libxl_driver.c | 5 -----
src/libxl/libxl_driver.h | 3 ---
src/libxl/libxl_logger.c | 3 ---
src/libxl/libxl_logger.h | 3 ---
src/libxl/libxl_migration.c | 4 ----
src/libxl/libxl_migration.h | 3 ---
src/locking/lock_daemon.c | 2 --
src/locking/lock_daemon.h | 2 --
src/locking/lock_daemon_config.c | 2 --
src/locking/lock_daemon_config.h | 2 --
src/locking/lock_daemon_dispatch.c | 2 --
src/locking/lock_daemon_dispatch.h | 2 --
src/logging/log_daemon.c | 2 --
src/logging/log_daemon.h | 2 --
src/logging/log_daemon_config.c | 2 --
src/logging/log_daemon_config.h | 2 --
src/logging/log_daemon_dispatch.c | 2 --
src/logging/log_daemon_dispatch.h | 2 --
src/logging/log_handler.c | 2 --
src/logging/log_handler.h | 2 --
src/logging/log_manager.c | 2 --
src/logging/log_manager.h | 2 --
src/lxc/lxc_conf.c | 3 ---
src/lxc/lxc_conf.h | 3 ---
src/lxc/lxc_container.c | 4 ----
src/lxc/lxc_container.h | 3 ---
src/lxc/lxc_controller.c | 3 ---
src/lxc/lxc_driver.c | 3 ---
src/lxc/lxc_driver.h | 3 ---
src/lxc/lxc_fuse.c | 3 ---
src/lxc/lxc_fuse.h | 3 ---
src/lxc/lxc_hostdev.c | 2 --
src/lxc/lxc_hostdev.h | 2 --
src/lxc/lxc_native.c | 2 --
src/lxc/lxc_native.h | 2 --
src/network/bridge_driver.c | 2 --
src/network/bridge_driver.h | 2 --
src/network/bridge_driver_linux.c | 2 --
src/network/bridge_driver_nop.c | 2 --
src/network/bridge_driver_platform.c | 2 --
src/network/bridge_driver_platform.h | 2 --
src/network/leaseshelper.c | 2 --
src/node_device/node_device_driver.c | 2 --
src/node_device/node_device_driver.h | 2 --
src/node_device/node_device_hal.c | 2 --
src/node_device/node_device_udev.c | 2 --
src/node_device/node_device_udev.h | 2 --
src/nwfilter/nwfilter_dhcpsnoop.c | 6 ------
src/nwfilter/nwfilter_dhcpsnoop.h | 2 --
src/nwfilter/nwfilter_driver.c | 3 ---
src/nwfilter/nwfilter_driver.h | 3 ---
src/nwfilter/nwfilter_ebiptables_driver.c | 2 --
src/nwfilter/nwfilter_ebiptables_driver.h | 2 --
src/nwfilter/nwfilter_gentech_driver.c | 2 --
src/nwfilter/nwfilter_gentech_driver.h | 2 --
src/nwfilter/nwfilter_learnipaddr.c | 2 --
src/nwfilter/nwfilter_learnipaddr.h | 2 --
src/nwfilter/nwfilter_tech_driver.h | 2 --
src/openvz/openvz_conf.c | 5 -----
src/openvz/openvz_conf.h | 5 -----
src/openvz/openvz_driver.c | 5 -----
src/openvz/openvz_driver.h | 5 -----
src/phyp/phyp_driver.c | 3 ---
src/phyp/phyp_driver.h | 3 ---
src/qemu/qemu_agent.c | 2 --
src/qemu/qemu_agent.h | 2 --
src/qemu/qemu_alias.c | 2 --
src/qemu/qemu_alias.h | 2 --
src/qemu/qemu_capabilities.c | 2 --
src/qemu/qemu_capabilities.h | 2 --
src/qemu/qemu_capspriv.h | 2 --
src/qemu/qemu_cgroup.c | 2 --
src/qemu/qemu_cgroup.h | 2 --
src/qemu/qemu_command.c | 2 --
src/qemu/qemu_command.h | 2 --
src/qemu/qemu_conf.c | 2 --
src/qemu/qemu_conf.h | 2 --
src/qemu/qemu_domain.c | 2 --
src/qemu/qemu_domain.h | 2 --
src/qemu/qemu_domain_address.c | 2 --
src/qemu/qemu_domain_address.h | 2 --
src/qemu/qemu_driver.c | 2 --
src/qemu/qemu_driver.h | 2 --
src/qemu/qemu_extdevice.c | 2 --
src/qemu/qemu_extdevice.h | 2 --
src/qemu/qemu_hostdev.c | 2 --
src/qemu/qemu_hostdev.h | 2 --
src/qemu/qemu_hotplug.c | 2 --
src/qemu/qemu_hotplug.h | 2 --
src/qemu/qemu_interface.c | 3 ---
src/qemu/qemu_interface.h | 3 ---
src/qemu/qemu_monitor.c | 2 --
src/qemu/qemu_monitor.h | 2 --
src/qemu/qemu_monitor_json.c | 2 --
src/qemu/qemu_monitor_json.h | 2 --
src/qemu/qemu_monitor_text.c | 2 --
src/qemu/qemu_monitor_text.h | 2 --
src/qemu/qemu_parse_command.c | 2 --
src/qemu/qemu_parse_command.h | 2 --
src/qemu/qemu_security.c | 3 ---
src/qemu/qemu_security.h | 3 ---
src/qemu/qemu_tpm.c | 2 --
src/qemu/qemu_tpm.h | 2 --
src/remote/lxc_protocol.x | 2 --
src/remote/qemu_protocol.x | 2 --
src/remote/remote_daemon.c | 2 --
src/remote/remote_daemon.h | 2 --
src/remote/remote_daemon_config.c | 2 --
src/remote/remote_daemon_config.h | 2 --
src/remote/remote_daemon_dispatch.c | 2 --
src/remote/remote_daemon_dispatch.h | 3 ---
src/remote/remote_daemon_stream.c | 2 --
src/remote/remote_daemon_stream.h | 2 --
src/remote/remote_driver.c | 2 --
src/remote/remote_driver.h | 2 --
src/remote/remote_protocol.x | 2 --
src/rpc/gensystemtap.pl | 2 --
src/rpc/virkeepalive.c | 2 --
src/rpc/virkeepalive.h | 2 --
src/rpc/virnetclient.c | 2 --
src/rpc/virnetclient.h | 2 --
src/rpc/virnetclientprogram.c | 2 --
src/rpc/virnetclientprogram.h | 2 --
src/rpc/virnetclientstream.c | 2 --
src/rpc/virnetclientstream.h | 2 --
src/rpc/virnetdaemon.c | 2 --
src/rpc/virnetdaemon.h | 2 --
src/rpc/virnetlibsshsession.c | 3 ---
src/rpc/virnetlibsshsession.h | 3 ---
src/rpc/virnetprotocol.x | 2 --
src/rpc/virnetserver.c | 2 --
src/rpc/virnetserver.h | 2 --
src/rpc/virnetserverclient.c | 2 --
src/rpc/virnetserverclient.h | 2 --
src/rpc/virnetservermdns.c | 2 --
src/rpc/virnetservermdns.h | 2 --
src/rpc/virnetserverprogram.c | 2 --
src/rpc/virnetserverprogram.h | 2 --
src/rpc/virnetserverservice.c | 2 --
src/rpc/virnetserverservice.h | 2 --
src/rpc/virnetsocket.c | 2 --
src/rpc/virnetsocket.h | 2 --
src/rpc/virnetsshsession.c | 2 --
src/rpc/virnetsshsession.h | 2 --
src/secret/secret_driver.c | 2 --
src/secret/secret_driver.h | 2 --
src/security/security_apparmor.c | 6 ------
src/security/security_apparmor.h | 4 ----
src/security/security_driver.c | 5 -----
src/security/security_driver.h | 4 ----
src/security/security_manager.c | 2 --
src/security/security_manager.h | 2 --
src/security/security_selinux.c | 4 ----
src/security/security_selinux.h | 4 ----
src/security/virt-aa-helper.c | 4 ----
src/storage/parthelper.c | 2 --
src/storage/storage_backend.c | 2 --
src/storage/storage_backend_disk.c | 2 --
src/storage/storage_backend_disk.h | 2 --
src/storage/storage_backend_fs.c | 2 --
src/storage/storage_backend_fs.h | 2 --
src/storage/storage_backend_iscsi.c | 2 --
src/storage/storage_backend_iscsi.h | 2 --
src/storage/storage_backend_iscsi_direct.c | 2 --
src/storage/storage_backend_logical.c | 2 --
src/storage/storage_backend_logical.h | 2 --
src/storage/storage_backend_mpath.c | 2 --
src/storage/storage_backend_mpath.h | 2 --
src/storage/storage_backend_rbd.c | 2 --
src/storage/storage_backend_rbd.h | 2 --
src/storage/storage_backend_scsi.c | 2 --
src/storage/storage_backend_scsi.h | 2 --
src/storage/storage_backend_sheepdog.c | 4 ----
src/storage/storage_backend_sheepdog.h | 4 ----
src/storage/storage_driver.c | 2 --
src/storage/storage_driver.h | 2 --
src/storage/storage_file_fs.c | 2 --
src/storage/storage_file_fs.h | 2 --
src/uml/uml_conf.c | 2 --
src/uml/uml_conf.h | 2 --
src/uml/uml_driver.c | 2 --
src/uml/uml_driver.h | 2 --
src/util/iohelper.c | 2 --
src/util/virarptable.c | 3 ---
src/util/virarptable.h | 3 ---
src/util/virauthconfig.c | 2 --
src/util/virauthconfig.h | 2 --
src/util/virbitmap.c | 2 --
src/util/virbitmap.h | 2 --
src/util/vircgroup.c | 3 ---
src/util/vircgroup.h | 3 ---
src/util/vircgrouppriv.h | 3 ---
src/util/virclosecallbacks.c | 4 ----
src/util/virclosecallbacks.h | 4 ----
src/util/virdevmapper.c | 3 ---
src/util/virdevmapper.h | 3 ---
src/util/virebtables.c | 4 ----
src/util/virebtables.h | 4 ----
src/util/virerror.c | 2 --
src/util/virevent.c | 2 --
src/util/virevent.h | 2 --
src/util/vireventpoll.c | 2 --
src/util/vireventpoll.h | 2 --
src/util/virfcp.c | 2 --
src/util/virfcp.h | 2 --
src/util/virfirewall.c | 3 ---
src/util/virfirewall.h | 3 ---
src/util/virfirewallpriv.h | 3 ---
src/util/virfirmware.c | 2 --
src/util/virfirmware.h | 2 --
src/util/virgic.c | 2 --
src/util/virgic.h | 2 --
src/util/virhash.c | 3 ---
src/util/virhash.h | 3 ---
src/util/virhook.c | 2 --
src/util/virhook.h | 2 --
src/util/virhostcpu.c | 2 --
src/util/virhostcpu.h | 2 --
src/util/virhostdev.c | 3 ---
src/util/virhostdev.h | 3 ---
src/util/virhostmem.c | 2 --
src/util/virhostmem.h | 2 --
src/util/virinitctl.c | 3 ---
src/util/virinitctl.h | 3 ---
src/util/viriptables.c | 3 ---
src/util/viriptables.h | 3 ---
src/util/virkeyfile.c | 3 ---
src/util/virkeyfile.h | 3 ---
src/util/virmacaddr.c | 3 ---
src/util/virmacaddr.h | 3 ---
src/util/virmacmap.c | 3 ---
src/util/virmacmap.h | 3 ---
src/util/virnetdev.c | 4 ----
src/util/virnetdev.h | 4 ----
src/util/virnetdevbandwidth.c | 4 ----
src/util/virnetdevbandwidth.h | 4 ----
src/util/virnetdevbridge.c | 4 ----
src/util/virnetdevbridge.h | 4 ----
src/util/virnetdevip.c | 4 ----
src/util/virnetdevip.h | 4 ----
src/util/virnetdevmacvlan.c | 3 ---
src/util/virnetdevmacvlan.h | 3 ---
src/util/virnetdevmidonet.c | 3 ---
src/util/virnetdevmidonet.h | 3 ---
src/util/virnetdevopenvswitch.c | 6 ------
src/util/virnetdevopenvswitch.h | 6 ------
src/util/virnetdevtap.c | 4 ----
src/util/virnetdevtap.h | 4 ----
src/util/virnetdevveth.c | 4 ----
src/util/virnetdevveth.h | 4 ----
src/util/virnetdevvlan.c | 3 ---
src/util/virnetdevvlan.h | 3 ---
src/util/virnetdevvportprofile.c | 4 ----
src/util/virnetdevvportprofile.h | 4 ----
src/util/virnetlink.c | 7 -------
src/util/virpci.c | 3 ---
src/util/virpci.h | 3 ---
src/util/virperf.c | 3 ---
src/util/virperf.h | 3 ---
src/util/virrandom.c | 3 ---
src/util/virrandom.h | 3 ---
src/util/virscsi.c | 4 ----
src/util/virscsi.h | 3 ---
src/util/virscsivhost.c | 3 ---
src/util/virscsivhost.h | 3 ---
src/util/virsocketaddr.c | 5 -----
src/util/virsocketaddr.h | 5 -----
src/util/virstorageencryption.c | 2 --
src/util/virstorageencryption.h | 2 --
src/util/virstoragefile.c | 2 --
src/util/virstoragefile.h | 2 --
src/util/virstoragefilebackend.c | 2 --
src/util/virstring.c | 3 ---
src/util/virstring.h | 3 ---
src/util/virsysinfo.c | 2 --
src/util/virsysinfo.h | 2 --
src/util/virthreadjob.c | 2 --
src/util/virthreadjob.h | 2 --
src/util/virthreadpool.c | 4 ----
src/util/virthreadpool.h | 2 --
src/util/virtime.c | 2 --
src/util/virtime.h | 2 --
src/util/virtpm.c | 2 --
src/util/virtpm.h | 2 --
src/util/virusb.c | 3 ---
src/util/virusb.h | 4 ----
src/util/virutil.c | 3 ---
src/util/virutil.h | 2 --
src/util/viruuid.c | 3 ---
src/util/viruuid.h | 3 ---
src/xenapi/xenapi_driver.c | 2 --
src/xenapi/xenapi_driver.h | 2 --
src/xenapi/xenapi_driver_private.h | 2 --
src/xenapi/xenapi_utils.c | 2 --
src/xenapi/xenapi_utils.h | 2 --
src/xenconfig/xen_common.c | 4 ----
src/xenconfig/xen_common.h | 2 --
src/xenconfig/xen_sxpr.c | 4 ----
src/xenconfig/xen_sxpr.h | 4 ----
src/xenconfig/xen_xl.c | 2 --
src/xenconfig/xen_xm.c | 3 ---
src/xenconfig/xen_xm.h | 3 ---
src/xenconfig/xenxs_private.h | 3 ---
tests/cputest.c | 2 --
tests/domaincapstest.c | 3 ---
tests/domainconftest.c | 2 --
tests/eventtest.c | 2 --
tests/fdstreamtest.c | 2 --
tests/libxlxml2domconfigtest.c | 2 --
tests/metadatatest.c | 2 --
tests/nsslinktest.c | 2 --
tests/nssmock.c | 2 --
tests/nsstest.c | 2 --
tests/objecteventtest.c | 2 --
tests/objectlocking.ml | 2 --
tests/qemucaps2xmlmock.c | 2 --
tests/qemucaps2xmltest.c | 3 ---
tests/qemucapsprobe.c | 2 --
tests/qemucapsprobemock.c | 2 --
tests/qemuxml2argvmock.c | 2 --
tests/ssh.c | 2 --
tests/storagebackendsheepdogtest.c | 2 --
tests/sysinfotest.c | 3 ---
tests/virauthconfigtest.c | 2 --
tests/vircaps2xmltest.c | 3 ---
tests/vircgroupmock.c | 2 --
tests/vircgrouptest.c | 2 --
tests/virdbusmock.c | 2 --
tests/virdbustest.c | 2 --
tests/virdeterministichashmock.c | 2 --
tests/virdrivermoduletest.c | 2 --
tests/virfilemock.c | 2 --
tests/virfiletest.c | 2 --
tests/virfirewalltest.c | 2 --
tests/virhostdevtest.c | 2 --
tests/viridentitytest.c | 2 --
tests/viriscsitest.c | 2 --
tests/virkeycodetest.c | 2 --
tests/virkeyfiletest.c | 2 --
tests/virlockspacetest.c | 2 --
tests/virmacmaptest.c | 2 --
tests/virmocklibxl.c | 2 --
tests/virnetdaemonmock.c | 2 --
tests/virnetdaemontest.c | 2 --
tests/virnetdevbandwidthmock.c | 2 --
tests/virnetdevbandwidthtest.c | 2 --
tests/virnetdevmock.c | 2 --
tests/virnetdevtest.c | 2 --
tests/virnetmessagetest.c | 2 --
tests/virnetserverclientmock.c | 2 --
tests/virnetserverclienttest.c | 2 --
tests/virnetsockettest.c | 2 --
tests/virnettlscontexttest.c | 2 --
tests/virnettlshelpers.c | 2 --
tests/virnettlshelpers.h | 2 --
tests/virnettlssessiontest.c | 2 --
tests/virpcimock.c | 2 --
tests/virpcitest.c | 2 --
tests/virpolkittest.c | 2 --
tests/virportallocatormock.c | 2 --
tests/virportallocatortest.c | 2 --
tests/virrandommock.c | 2 --
tests/virrotatingfiletest.c | 2 --
tests/virschematest.c | 2 --
tests/virscsitest.c | 2 --
tests/virstoragetest.c | 2 --
tests/virstringtest.c | 2 --
tests/virsystemdtest.c | 2 --
tests/virtestmock.c | 2 --
tests/virtimetest.c | 2 --
tests/viruritest.c | 2 --
tests/virusbmock.c | 2 --
tests/virusbtest.c | 2 --
tests/xlconfigtest.c | 2 --
tests/xmconfigtest.c | 2 --
tools/nss/libvirt_nss.c | 3 ---
tools/nss/libvirt_nss.h | 3 ---
tools/virsh-completer.c | 2 --
tools/virsh-console.c | 3 ---
tools/virsh-console.h | 3 ---
tools/virt-admin.c | 2 --
tools/vsh-table.c | 4 ----
tools/vsh-table.h | 4 ----
tools/wireshark/src/packet-libvirt.c | 4 ----
tools/wireshark/src/packet-libvirt.h | 2 --
tools/wireshark/util/genxdrstub.pl | 1 -
513 files changed, 5 insertions(+), 1244 deletions(-)
mode change 100755 => 100644 src/dtrace2systemtap.pl
mode change 100755 => 100644 src/rpc/gensystemtap.pl
mode change 100755 => 100644 tools/wireshark/util/genxdrstub.pl
diff --git a/build-aux/augeas-gentest.pl b/build-aux/augeas-gentest.pl
index 18a1c5bce3..567fc651f3 100755
--- a/build-aux/augeas-gentest.pl
+++ b/build-aux/augeas-gentest.pl
@@ -16,9 +16,6 @@
# You should have received a copy of the GNU Lesser General Public
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
-#
-# Authors:
-# Daniel P. Berrange <berrange(a)redhat.com>
use strict;
use warnings;
diff --git a/build-aux/check-spacing.pl b/build-aux/check-spacing.pl
index a32e355be6..33377f3dd3 100755
--- a/build-aux/check-spacing.pl
+++ b/build-aux/check-spacing.pl
@@ -16,9 +16,6 @@
# You should have received a copy of the GNU Lesser General Public
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
-#
-# Authors:
-# Daniel P. Berrange <berrange(a)redhat.com>
use strict;
use warnings;
diff --git a/cfg.mk b/cfg.mk
index c468d153eb..bf233dfcd8 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -1050,6 +1050,11 @@ sc_prohibit_http_urls:
halt='Links must use https:// protocol' \
$(_sc_search_regexp)
+sc_prohibit_author:
+ @prohibit="(\*|#)\s*Authors?:" \
+ halt="Author: statements are prohibited in source comments" \
+ $(_sc_search_regexp)
+
# Alignment is usually achieved through spaces (at least two of them)
# or tabs (at least one of them) right before the trailing backslash
sc_prohibit_backslash_alignment:
diff --git a/docs/reformat-news.py b/docs/reformat-news.py
index d8726f1a1c..955ce2d45b 100755
--- a/docs/reformat-news.py
+++ b/docs/reformat-news.py
@@ -17,9 +17,6 @@
# You should have received a copy of the GNU Lesser General Public
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
-#
-# Authors:
-# Andrea Bolognani <abologna(a)redhat.com>
from __future__ import print_function
diff --git a/examples/domsuspend/suspend.c b/examples/domsuspend/suspend.c
index 919932b0e8..ac816044ef 100644
--- a/examples/domsuspend/suspend.c
+++ b/examples/domsuspend/suspend.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/examples/domtop/domtop.c b/examples/domtop/domtop.c
index 2077c49fbd..fb631781fd 100644
--- a/examples/domtop/domtop.c
+++ b/examples/domtop/domtop.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/examples/lxcconvert/virt-lxc-convert b/examples/lxcconvert/virt-lxc-convert
index 5260eb708f..d94befd7fc 100644
--- a/examples/lxcconvert/virt-lxc-convert
+++ b/examples/lxcconvert/virt-lxc-convert
@@ -17,7 +17,6 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
-# Author: Cedric Bosdonnat <cbosdonnat(a)suse.com>
handler_cleanup()
{
diff --git a/examples/systemtap/events.stp b/examples/systemtap/events.stp
index 97337d6a0b..fd4fe4664d 100644
--- a/examples/systemtap/events.stp
+++ b/examples/systemtap/events.stp
@@ -16,7 +16,6 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
-# Author: Daniel P. Berrange <berrange(a)redhat.com>
#
# This script will monitor all operation of the libvirt event loop
# in both client and server. Example output is:
diff --git a/examples/systemtap/lock-debug.stp b/examples/systemtap/lock-debug.stp
index e01b2f79a6..0c9cc38692 100644
--- a/examples/systemtap/lock-debug.stp
+++ b/examples/systemtap/lock-debug.stp
@@ -16,7 +16,6 @@
#
# Debug RWLock mechanisms as well.
#
-# Author: Martin Kletzander <mkletzan(a)redhat.com>
global mx_tolock
diff --git a/examples/systemtap/qemu-monitor.stp b/examples/systemtap/qemu-monitor.stp
index 171d9d8933..192bac4f8e 100644
--- a/examples/systemtap/qemu-monitor.stp
+++ b/examples/systemtap/qemu-monitor.stp
@@ -16,7 +16,6 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
-# Author: Daniel P. Berrange <berrange(a)redhat.com>
#
# This script will monitor all messages sent/received between libvirt
# and the QEMU monitor
diff --git a/examples/systemtap/rpc-monitor.stp b/examples/systemtap/rpc-monitor.stp
index c8d5c179c1..f7db0a03aa 100644
--- a/examples/systemtap/rpc-monitor.stp
+++ b/examples/systemtap/rpc-monitor.stp
@@ -16,7 +16,6 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
-# Author: Daniel P. Berrange <berrange(a)redhat.com>
#
# This script will monitor all RPC messages going in/out of libvirtd and
# any connected clients. Example output:
diff --git a/include/libvirt/libvirt-admin.h b/include/libvirt/libvirt-admin.h
index 161727ed8f..190bda7567 100644
--- a/include/libvirt/libvirt-admin.h
+++ b/include/libvirt/libvirt-admin.h
@@ -19,8 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Martin Kletzander <mkletzan(a)redhat.com>
*/
#ifndef __VIR_ADMIN_H__
diff --git a/include/libvirt/libvirt-common.h.in b/include/libvirt/libvirt-common.h.in
index 0e8ada4552..4661ee9857 100644
--- a/include/libvirt/libvirt-common.h.in
+++ b/include/libvirt/libvirt-common.h.in
@@ -3,7 +3,6 @@
* Summary: common macros and enums for the libvirt and libvirt-admin library
* Description: Provides common macros and enums needed by both libvirt and
* libvirt-admin libraries
- * Author: Erik Skultety <eskultet(a)redhat.com>
*
* Copyright (C) 2015 Red Hat, Inc.
*
diff --git a/include/libvirt/libvirt-domain-snapshot.h b/include/libvirt/libvirt-domain-snapshot.h
index 20771f9b1e..139fe35986 100644
--- a/include/libvirt/libvirt-domain-snapshot.h
+++ b/include/libvirt/libvirt-domain-snapshot.h
@@ -2,7 +2,6 @@
* libvirt-domain-snapshot.h
* Summary: APIs for management of domain snapshots
* Description: Provides APIs for the management of domain snapshots
- * Author: Daniel Veillard <veillard(a)redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index bcc66653be..9f56a40d9c 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -2,7 +2,6 @@
* libvirt-domain.h
* Summary: APIs for management of domains
* Description: Provides APIs for the management of domains
- * Author: Daniel Veillard <veillard(a)redhat.com>
*
* Copyright (C) 2006-2015 Red Hat, Inc.
*
diff --git a/include/libvirt/libvirt-event.h b/include/libvirt/libvirt-event.h
index 838cb54878..f818712cea 100644
--- a/include/libvirt/libvirt-event.h
+++ b/include/libvirt/libvirt-event.h
@@ -2,7 +2,6 @@
* libvirt-event.h
* Summary: APIs for management of events
* Description: Provides APIs for the management of events
- * Author: Daniel Veillard <veillard(a)redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
diff --git a/include/libvirt/libvirt-host.h b/include/libvirt/libvirt-host.h
index a04d669901..5ce5d6ea2b 100644
--- a/include/libvirt/libvirt-host.h
+++ b/include/libvirt/libvirt-host.h
@@ -2,7 +2,6 @@
* libvirt-host.h
* Summary: APIs for management of hosts
* Description: Provides APIs for the management of hosts
- * Author: Daniel Veillard <veillard(a)redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
diff --git a/include/libvirt/libvirt-interface.h b/include/libvirt/libvirt-interface.h
index 60c53e6b4d..7dc7622085 100644
--- a/include/libvirt/libvirt-interface.h
+++ b/include/libvirt/libvirt-interface.h
@@ -2,7 +2,6 @@
* libvirt-interface.h
* Summary: APIs for management of interfaces
* Description: Provides APIs for the management of interfaces
- * Author: Daniel Veillard <veillard(a)redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
diff --git a/include/libvirt/libvirt-lxc.h b/include/libvirt/libvirt-lxc.h
index 0d16a5c44d..64697d8f6c 100644
--- a/include/libvirt/libvirt-lxc.h
+++ b/include/libvirt/libvirt-lxc.h
@@ -19,8 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_LXC_H__
diff --git a/include/libvirt/libvirt-network.h b/include/libvirt/libvirt-network.h
index 308f27f64f..87d2235956 100644
--- a/include/libvirt/libvirt-network.h
+++ b/include/libvirt/libvirt-network.h
@@ -2,7 +2,6 @@
* libvirt-network.h
* Summary: APIs for management of networks
* Description: Provides APIs for the management of networks
- * Author: Daniel Veillard <veillard(a)redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
diff --git a/include/libvirt/libvirt-nodedev.h b/include/libvirt/libvirt-nodedev.h
index 25e87248fd..9dc58b8ac2 100644
--- a/include/libvirt/libvirt-nodedev.h
+++ b/include/libvirt/libvirt-nodedev.h
@@ -2,7 +2,6 @@
* libvirt-nodedev.h
* Summary: APIs for management of nodedevs
* Description: Provides APIs for the management of nodedevs
- * Author: Daniel Veillard <veillard(a)redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
diff --git a/include/libvirt/libvirt-nwfilter.h b/include/libvirt/libvirt-nwfilter.h
index 20e6d1ff9a..8501b847a7 100644
--- a/include/libvirt/libvirt-nwfilter.h
+++ b/include/libvirt/libvirt-nwfilter.h
@@ -2,7 +2,6 @@
* libvirt-nwfilter.h
* Summary: APIs for management of nwfilters
* Description: Provides APIs for the management of nwfilters
- * Author: Daniel Veillard <veillard(a)redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
diff --git a/include/libvirt/libvirt-qemu.h b/include/libvirt/libvirt-qemu.h
index 2bb8ee8685..a97df8dda9 100644
--- a/include/libvirt/libvirt-qemu.h
+++ b/include/libvirt/libvirt-qemu.h
@@ -19,8 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Chris Lalancette <clalance(a)redhat.com>
*/
#ifndef __VIR_QEMU_H__
diff --git a/include/libvirt/libvirt-secret.h b/include/libvirt/libvirt-secret.h
index 5df0b8ff89..e46162da28 100644
--- a/include/libvirt/libvirt-secret.h
+++ b/include/libvirt/libvirt-secret.h
@@ -2,7 +2,6 @@
* libvirt-secret.h
* Summary: APIs for management of secrets
* Description: Provides APIs for the management of secrets
- * Author: Daniel Veillard <veillard(a)redhat.com>
*
* Copyright (C) 2006-2014, 2016 Red Hat, Inc.
*
diff --git a/include/libvirt/libvirt-storage.h b/include/libvirt/libvirt-storage.h
index 413d9f6c4c..17906da890 100644
--- a/include/libvirt/libvirt-storage.h
+++ b/include/libvirt/libvirt-storage.h
@@ -2,7 +2,6 @@
* libvirt-storage.h
* Summary: APIs for management of storage pools and volumes
* Description: Provides APIs for the management of storage pools and volumes
- * Author: Daniel Veillard <veillard(a)redhat.com>
*
* Copyright (C) 2006-2016 Red Hat, Inc.
*
diff --git a/include/libvirt/libvirt-stream.h b/include/libvirt/libvirt-stream.h
index 86f96b1580..7d3a3d98e1 100644
--- a/include/libvirt/libvirt-stream.h
+++ b/include/libvirt/libvirt-stream.h
@@ -2,7 +2,6 @@
* libvirt-stream.h
* Summary: APIs for management of streams
* Description: Provides APIs for the management of streams
- * Author: Daniel Veillard <veillard(a)redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
diff --git a/include/libvirt/libvirt.h b/include/libvirt/libvirt.h
index 36f6d60775..d555ac798f 100644
--- a/include/libvirt/libvirt.h
+++ b/include/libvirt/libvirt.h
@@ -19,8 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel Veillard <veillard(a)redhat.com>
*/
#ifndef __VIR_VIRLIB_H__
diff --git a/include/libvirt/virterror.h b/include/libvirt/virterror.h
index 57aadb8d16..095c6cb1e4 100644
--- a/include/libvirt/virterror.h
+++ b/include/libvirt/virterror.h
@@ -19,8 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel Veillard <veillard(a)redhat.com>
*/
#ifndef __VIR_VIRERR_H__
diff --git a/src/admin/admin_protocol.x b/src/admin/admin_protocol.x
index d19d132b79..42e215d23a 100644
--- a/src/admin/admin_protocol.x
+++ b/src/admin/admin_protocol.x
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Martin Kletzander <mkletzan(a)redhat.com>
*/
%#include <libvirt/libvirt-admin.h>
diff --git a/src/admin/admin_remote.c b/src/admin/admin_remote.c
index b29d109f6a..e112c1f115 100644
--- a/src/admin/admin_remote.c
+++ b/src/admin/admin_remote.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Erik Skultety <eskultet(a)redhat.com>
*/
#include <config.h>
diff --git a/src/admin/admin_server.c b/src/admin/admin_server.c
index f2c1a8f8ec..f2a38f6dfa 100644
--- a/src/admin/admin_server.c
+++ b/src/admin/admin_server.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors: Erik Skultety <eskultet(a)redhat.com>
- * Martin Kletzander <mkletzan(a)redhat.com>
*/
#include <config.h>
diff --git a/src/admin/admin_server.h b/src/admin/admin_server.h
index 3e0c35fa29..dc0f31e54b 100644
--- a/src/admin/admin_server.h
+++ b/src/admin/admin_server.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors: Erik Skultety <eskultet(a)redhat.com>
- * Martin Kletzander <mkletzan(a)redhat.com>
*/
#ifndef __ADMIN_SERVER_H__
diff --git a/src/admin/admin_server_dispatch.c b/src/admin/admin_server_dispatch.c
index b78ff902c0..1c5485bce9 100644
--- a/src/admin/admin_server_dispatch.c
+++ b/src/admin/admin_server_dispatch.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Martin Kletzander <mkletzan(a)redhat.com>
*/
#include <config.h>
diff --git a/src/admin/admin_server_dispatch.h b/src/admin/admin_server_dispatch.h
index c998cf3cba..322bba7dd8 100644
--- a/src/admin/admin_server_dispatch.h
+++ b/src/admin/admin_server_dispatch.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Martin Kletzander <mkletzan(a)redhat.com>
*/
#ifndef __ADMIN_SERVER_DISPATCH_H__
diff --git a/src/bhyve/bhyve_device.c b/src/bhyve/bhyve_device.c
index a59dfe4519..201044d9e6 100644
--- a/src/bhyve/bhyve_device.c
+++ b/src/bhyve/bhyve_device.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Roman Bogorodskiy
*/
#include <config.h>
diff --git a/src/bhyve/bhyve_device.h b/src/bhyve/bhyve_device.h
index 1144f51dbe..48e7db438e 100644
--- a/src/bhyve/bhyve_device.h
+++ b/src/bhyve/bhyve_device.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Roman Bogorodskiy
*/
#ifndef __BHYVE_DEVICE_H__
diff --git a/src/bhyve/bhyve_domain.c b/src/bhyve/bhyve_domain.c
index 3c23441969..e54af75f4d 100644
--- a/src/bhyve/bhyve_domain.c
+++ b/src/bhyve/bhyve_domain.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Roman Bogorodskiy
*/
#include <config.h>
diff --git a/src/bhyve/bhyve_domain.h b/src/bhyve/bhyve_domain.h
index bbc8ecd8cf..82b0b9b346 100644
--- a/src/bhyve/bhyve_domain.h
+++ b/src/bhyve/bhyve_domain.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Roman Bogorodskiy
*/
#ifndef __BHYVE_DOMAIN_H__
diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c
index 4d4f85f5bf..4998100bc2 100644
--- a/src/bhyve/bhyve_driver.c
+++ b/src/bhyve/bhyve_driver.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Roman Bogorodskiy
*/
#include <config.h>
diff --git a/src/bhyve/bhyve_driver.h b/src/bhyve/bhyve_driver.h
index fb57d287e1..c9bcbb9418 100644
--- a/src/bhyve/bhyve_driver.h
+++ b/src/bhyve/bhyve_driver.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Roman Bogorodskiy <bogorodskiy(a)gmail.com>
*/
#ifndef __BHYVE_DRIVER_H__
diff --git a/src/bhyve/bhyve_monitor.c b/src/bhyve/bhyve_monitor.c
index 4d5262c104..faf1ebe5f5 100644
--- a/src/bhyve/bhyve_monitor.c
+++ b/src/bhyve/bhyve_monitor.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Conrad Meyer <cse.cem(a)gmail.com>
*/
#include <config.h>
diff --git a/src/bhyve/bhyve_monitor.h b/src/bhyve/bhyve_monitor.h
index 226d87832f..f376941bc6 100644
--- a/src/bhyve/bhyve_monitor.h
+++ b/src/bhyve/bhyve_monitor.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Conrad Meyer <cse.cem(a)gmail.com>
*/
#ifndef BHYVE_MONITOR_H
diff --git a/src/bhyve/bhyve_parse_command.c b/src/bhyve/bhyve_parse_command.c
index 14137d179b..1c9191fb96 100644
--- a/src/bhyve/bhyve_parse_command.c
+++ b/src/bhyve/bhyve_parse_command.c
@@ -19,8 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Fabian Freyer <fabian.freyer(a)physik.tu-berlin.de>
*/
#include <config.h>
diff --git a/src/bhyve/bhyve_parse_command.h b/src/bhyve/bhyve_parse_command.h
index 1e45ef258f..793685c338 100644
--- a/src/bhyve/bhyve_parse_command.h
+++ b/src/bhyve/bhyve_parse_command.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Fabian Freyer <fabian.freyer(a)physik.tu-berlin.de>
*/
#ifndef __BHYVE_PARSE_COMMAND_H__
diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c
index ef4e5ff53d..8e9bba0dbe 100644
--- a/src/conf/capabilities.c
+++ b/src/conf/capabilities.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/capabilities.h b/src/conf/capabilities.h
index 45b331a7be..c861ad5536 100644
--- a/src/conf/capabilities.h
+++ b/src/conf/capabilities.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_CAPABILITIES_H
diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c
index 863413e75e..a8e0fbe8ae 100644
--- a/src/conf/cpu_conf.c
+++ b/src/conf/cpu_conf.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jiri Denemark <jdenemar(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/cpu_conf.h b/src/conf/cpu_conf.h
index 9f2e7ee264..7792a4b449 100644
--- a/src/conf/cpu_conf.h
+++ b/src/conf/cpu_conf.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jiri Denemark <jdenemar(a)redhat.com>
*/
#ifndef __VIR_CPU_CONF_H__
diff --git a/src/conf/device_conf.c b/src/conf/device_conf.c
index 44b210d5ec..32628c6448 100644
--- a/src/conf/device_conf.c
+++ b/src/conf/device_conf.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/device_conf.h b/src/conf/device_conf.h
index 867b633903..320c6b55a1 100644
--- a/src/conf/device_conf.h
+++ b/src/conf/device_conf.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __DEVICE_CONF_H__
diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c
index 6e983e4fec..618fce44f0 100644
--- a/src/conf/domain_addr.c
+++ b/src/conf/domain_addr.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/domain_addr.h b/src/conf/domain_addr.h
index 183235309b..a0c853b7af 100644
--- a/src/conf/domain_addr.h
+++ b/src/conf/domain_addr.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __DOMAIN_ADDR_H__
diff --git a/src/conf/domain_audit.c b/src/conf/domain_audit.c
index fc13338d64..ce176f7940 100644
--- a/src/conf/domain_audit.c
+++ b/src/conf/domain_audit.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/domain_audit.h b/src/conf/domain_audit.h
index 474ccb6b8a..17e43b8cea 100644
--- a/src/conf/domain_audit.h
+++ b/src/conf/domain_audit.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_DOMAIN_AUDIT_H__
diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c
index 3b87bdf98c..ba2b6ba70f 100644
--- a/src/conf/domain_capabilities.c
+++ b/src/conf/domain_capabilities.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h
index 45ebc436b9..16b9677124 100644
--- a/src/conf/domain_capabilities.h
+++ b/src/conf/domain_capabilities.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#ifndef __DOMAIN_CAPABILITIES_H__
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index ae8fb5a501..d8dfd1656f 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index b24e6ec3de..26b07d6804 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __DOMAIN_CONF_H
diff --git a/src/conf/domain_event.c b/src/conf/domain_event.c
index 97520706c9..1bba4a2520 100644
--- a/src/conf/domain_event.c
+++ b/src/conf/domain_event.c
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Ben Guthro
*/
#include <config.h>
diff --git a/src/conf/domain_event.h b/src/conf/domain_event.h
index 3992a29c58..4266930272 100644
--- a/src/conf/domain_event.h
+++ b/src/conf/domain_event.h
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Ben Guthro
*/
#include "internal.h"
diff --git a/src/conf/domain_nwfilter.c b/src/conf/domain_nwfilter.c
index e75fb598e8..495fafcd61 100644
--- a/src/conf/domain_nwfilter.c
+++ b/src/conf/domain_nwfilter.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)us.ibm.com>
*/
#include <config.h>
diff --git a/src/conf/domain_nwfilter.h b/src/conf/domain_nwfilter.h
index 6bda228fc8..8f1bcbacad 100644
--- a/src/conf/domain_nwfilter.h
+++ b/src/conf/domain_nwfilter.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)us.ibm.com>
*/
#ifndef DOMAIN_NWFILTER_H
# define DOMAIN_NWFILTER_H
diff --git a/src/conf/interface_conf.c b/src/conf/interface_conf.c
index 0a4b28f489..c4d2e1b9ab 100644
--- a/src/conf/interface_conf.c
+++ b/src/conf/interface_conf.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel Veillard <veillard(a)redhat.com>
* Laine Stump <laine(a)redhat.com>
*/
diff --git a/src/conf/interface_conf.h b/src/conf/interface_conf.h
index 9ae2ceddb6..af19f0d53b 100644
--- a/src/conf/interface_conf.h
+++ b/src/conf/interface_conf.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel Veillard <veillard(a)redhat.com>
* Laine Stump <laine(a)redhat.com>
*/
diff --git a/src/conf/netdev_bandwidth_conf.c b/src/conf/netdev_bandwidth_conf.c
index 80b113196a..3113cde888 100644
--- a/src/conf/netdev_bandwidth_conf.c
+++ b/src/conf/netdev_bandwidth_conf.c
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn(a)redhat.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/netdev_bandwidth_conf.h b/src/conf/netdev_bandwidth_conf.h
index 30f988953c..37049cc69a 100644
--- a/src/conf/netdev_bandwidth_conf.h
+++ b/src/conf/netdev_bandwidth_conf.h
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn(a)redhat.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NETDEV_BANDWIDTH_CONF_H__
diff --git a/src/conf/netdev_vlan_conf.c b/src/conf/netdev_vlan_conf.c
index dff49c6e94..15230c6219 100644
--- a/src/conf/netdev_vlan_conf.c
+++ b/src/conf/netdev_vlan_conf.c
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Laine Stump <laine(a)redhat.com>
- * James Robson <jrobson(a)websense.com>
*/
#include <config.h>
diff --git a/src/conf/netdev_vlan_conf.h b/src/conf/netdev_vlan_conf.h
index ceef78eec0..4f21873aad 100644
--- a/src/conf/netdev_vlan_conf.h
+++ b/src/conf/netdev_vlan_conf.h
@@ -14,9 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Laine Stump <laine(a)redhat.com>
*/
#ifndef __VIR_NETDEV_VLAN_CONF_H__
diff --git a/src/conf/netdev_vport_profile_conf.c b/src/conf/netdev_vport_profile_conf.c
index 24052bf784..660478d128 100644
--- a/src/conf/netdev_vport_profile_conf.c
+++ b/src/conf/netdev_vport_profile_conf.c
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Stefan Berger <stefanb(a)us.ibm.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/netdev_vport_profile_conf.h b/src/conf/netdev_vport_profile_conf.h
index a70256dc7e..29f627367f 100644
--- a/src/conf/netdev_vport_profile_conf.h
+++ b/src/conf/netdev_vport_profile_conf.h
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Stefan Berger <stefanb(a)us.ibm.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NETDEV_VPORT_PROFILE_CONF_H__
diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
index 39a13b433d..e035d8aba7 100644
--- a/src/conf/network_conf.c
+++ b/src/conf/network_conf.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/network_conf.h b/src/conf/network_conf.h
index 54c8ed1c4c..6ae39dbeaf 100644
--- a/src/conf/network_conf.h
+++ b/src/conf/network_conf.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __NETWORK_CONF_H__
diff --git a/src/conf/network_event.c b/src/conf/network_event.c
index 5f8ad30d26..e3d2f2b6b3 100644
--- a/src/conf/network_event.c
+++ b/src/conf/network_event.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Cedric Bosdonnat
*/
#include <config.h>
diff --git a/src/conf/network_event.h b/src/conf/network_event.h
index 51bd949bee..269475a3b1 100644
--- a/src/conf/network_event.h
+++ b/src/conf/network_event.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Cedric Bosdonnat
*/
#include "internal.h"
diff --git a/src/conf/networkcommon_conf.c b/src/conf/networkcommon_conf.c
index 29e978bbdf..6de4ab1f58 100644
--- a/src/conf/networkcommon_conf.c
+++ b/src/conf/networkcommon_conf.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/networkcommon_conf.h b/src/conf/networkcommon_conf.h
index 70e46793f6..636a647e94 100644
--- a/src/conf/networkcommon_conf.h
+++ b/src/conf/networkcommon_conf.h
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __NETWORKCOMMON_CONF_H__
diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
index 74a7bc3933..97ad2f3cce 100644
--- a/src/conf/node_device_conf.c
+++ b/src/conf/node_device_conf.c
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: David F. Lively <dlively(a)virtualiron.com>
*/
#include <config.h>
diff --git a/src/conf/node_device_conf.h b/src/conf/node_device_conf.h
index fde239183d..24355f86ab 100644
--- a/src/conf/node_device_conf.h
+++ b/src/conf/node_device_conf.h
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: David F. Lively <dlively(a)virtualiron.com>
*/
#ifndef __VIR_NODE_DEVICE_CONF_H__
diff --git a/src/conf/numa_conf.c b/src/conf/numa_conf.c
index 97a3ca485d..dd421d19eb 100644
--- a/src/conf/numa_conf.c
+++ b/src/conf/numa_conf.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Martin Kletzander <mkletzan(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/numa_conf.h b/src/conf/numa_conf.h
index 85269be565..0b8d388347 100644
--- a/src/conf/numa_conf.h
+++ b/src/conf/numa_conf.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Martin Kletzander <mkletzan(a)redhat.com>
*/
#ifndef __NUMA_CONF_H__
diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c
index 120ca5ec14..8dcdc9d8d2 100644
--- a/src/conf/nwfilter_conf.c
+++ b/src/conf/nwfilter_conf.c
@@ -21,8 +21,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)us.ibm.com>
*/
#include <config.h>
diff --git a/src/conf/nwfilter_conf.h b/src/conf/nwfilter_conf.h
index 9f8ad51bf2..9d94dd7937 100644
--- a/src/conf/nwfilter_conf.h
+++ b/src/conf/nwfilter_conf.h
@@ -20,8 +20,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)us.ibm.com>
*/
#ifndef NWFILTER_CONF_H
# define NWFILTER_CONF_H
diff --git a/src/conf/nwfilter_ipaddrmap.c b/src/conf/nwfilter_ipaddrmap.c
index 14a62c1a74..eb1ed76af8 100644
--- a/src/conf/nwfilter_ipaddrmap.c
+++ b/src/conf/nwfilter_ipaddrmap.c
@@ -4,9 +4,6 @@
*
* Copyright (C) 2010, 2012 IBM Corp.
*
- * Author:
- * Stefan Berger <stefanb(a)linux.vnet.ibm.com>
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/src/conf/nwfilter_ipaddrmap.h b/src/conf/nwfilter_ipaddrmap.h
index 2c9cdb9601..272440966b 100644
--- a/src/conf/nwfilter_ipaddrmap.h
+++ b/src/conf/nwfilter_ipaddrmap.h
@@ -4,9 +4,6 @@
*
* Copyright (C) 2010, 2012 IBM Corp.
*
- * Author:
- * Stefan Berger <stefanb(a)linux.vnet.ibm.com>
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/src/conf/nwfilter_params.c b/src/conf/nwfilter_params.c
index ffffc6bae8..4b85f22950 100644
--- a/src/conf/nwfilter_params.c
+++ b/src/conf/nwfilter_params.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)us.ibm.com>
*/
#include <config.h>
diff --git a/src/conf/nwfilter_params.h b/src/conf/nwfilter_params.h
index f7355c37df..c02ddd20a6 100644
--- a/src/conf/nwfilter_params.h
+++ b/src/conf/nwfilter_params.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)us.ibm.com>
*/
#ifndef NWFILTER_PARAMS_H
# define NWFILTER_PARAMS_H
diff --git a/src/conf/object_event.c b/src/conf/object_event.c
index bf514384ed..667852fe22 100644
--- a/src/conf/object_event.c
+++ b/src/conf/object_event.c
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Ben Guthro
*/
#include <config.h>
diff --git a/src/conf/object_event.h b/src/conf/object_event.h
index 70e9579e81..c1e87a2423 100644
--- a/src/conf/object_event.h
+++ b/src/conf/object_event.h
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Ben Guthro
*/
#include "internal.h"
diff --git a/src/conf/object_event_private.h b/src/conf/object_event_private.h
index 27b461f177..a45902827d 100644
--- a/src/conf/object_event_private.h
+++ b/src/conf/object_event_private.h
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Ben Guthro
*/
#include "datatypes.h"
diff --git a/src/conf/secret_conf.c b/src/conf/secret_conf.c
index 7a2e4b28aa..3a5aa72563 100644
--- a/src/conf/secret_conf.c
+++ b/src/conf/secret_conf.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Red Hat Author: Miloslav Trmač <mitr(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/secret_conf.h b/src/conf/secret_conf.h
index 19f612b8fe..4b824e4023 100644
--- a/src/conf/secret_conf.h
+++ b/src/conf/secret_conf.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Red Hat Author: Miloslav Trmač <mitr(a)redhat.com>
*/
#ifndef __VIR_SECRET_CONF_H__
diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c
index 5a511b4495..7386b4a74f 100644
--- a/src/conf/snapshot_conf.c
+++ b/src/conf/snapshot_conf.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Eric Blake <eblake(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/snapshot_conf.h b/src/conf/snapshot_conf.h
index 20a42bd572..531bf0b759 100644
--- a/src/conf/snapshot_conf.h
+++ b/src/conf/snapshot_conf.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Eric Blake <eblake(a)redhat.com>
*/
#ifndef __SNAPSHOT_CONF_H
diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
index bf3ca2b87b..55db7a96f5 100644
--- a/src/conf/storage_conf.c
+++ b/src/conf/storage_conf.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h
index 4d7abbbc98..37cb3096fa 100644
--- a/src/conf/storage_conf.h
+++ b/src/conf/storage_conf.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_STORAGE_CONF_H__
diff --git a/src/conf/virchrdev.c b/src/conf/virchrdev.c
index 416a7a129c..5090a67a4f 100644
--- a/src/conf/virchrdev.c
+++ b/src/conf/virchrdev.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Peter Krempa <pkrempa(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/virchrdev.h b/src/conf/virchrdev.h
index e1990e8e2d..652767583b 100644
--- a/src/conf/virchrdev.h
+++ b/src/conf/virchrdev.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Peter Krempa <pkrempa(a)redhat.com>
*/
#ifndef __VIR_CHRDEV_H__
# define __VIR_CHRDEV_H__
diff --git a/src/conf/virdomainobjlist.c b/src/conf/virdomainobjlist.c
index 805fe9440a..384d97d768 100644
--- a/src/conf/virdomainobjlist.c
+++ b/src/conf/virdomainobjlist.c
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/virdomainobjlist.h b/src/conf/virdomainobjlist.h
index 7e2dece3aa..6e09133b32 100644
--- a/src/conf/virdomainobjlist.h
+++ b/src/conf/virdomainobjlist.h
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIRDOMAINOBJLIST_H__
diff --git a/src/conf/virnwfilterbindingobjlist.c b/src/conf/virnwfilterbindingobjlist.c
index 7ce59f7c6e..7e8437988f 100644
--- a/src/conf/virnwfilterbindingobjlist.c
+++ b/src/conf/virnwfilterbindingobjlist.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/conf/virnwfilterbindingobjlist.h b/src/conf/virnwfilterbindingobjlist.h
index dfda2bea85..7cdae901f2 100644
--- a/src/conf/virnwfilterbindingobjlist.h
+++ b/src/conf/virnwfilterbindingobjlist.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NWFILTER_BINDING_OBJ_LIST_H__
diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c
index cc93c49418..a223ff06e8 100644
--- a/src/cpu/cpu.c
+++ b/src/cpu/cpu.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jiri Denemark <jdenemar(a)redhat.com>
*/
#include <config.h>
diff --git a/src/cpu/cpu.h b/src/cpu/cpu.h
index 81119b6aeb..592586d913 100644
--- a/src/cpu/cpu.h
+++ b/src/cpu/cpu.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jiri Denemark <jdenemar(a)redhat.com>
*/
#ifndef __VIR_CPU_H__
diff --git a/src/cpu/cpu_arm.c b/src/cpu/cpu_arm.c
index cc7da44ac4..65d69c00af 100644
--- a/src/cpu/cpu_arm.c
+++ b/src/cpu/cpu_arm.c
@@ -17,9 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Chuck Short <chuck.short(a)canonical.com>
*/
#include <config.h>
diff --git a/src/cpu/cpu_arm.h b/src/cpu/cpu_arm.h
index 846a679f69..c77d102847 100644
--- a/src/cpu/cpu_arm.h
+++ b/src/cpu/cpu_arm.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Chuck Short <chuck.short(a)canonical.com>
*/
#ifndef __VIR_CPU_ARM_H__
diff --git a/src/cpu/cpu_map.c b/src/cpu/cpu_map.c
index 4585e5ca83..83151c1c54 100644
--- a/src/cpu/cpu_map.c
+++ b/src/cpu/cpu_map.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jiri Denemark <jdenemar(a)redhat.com>
*/
#include <config.h>
diff --git a/src/cpu/cpu_map.h b/src/cpu/cpu_map.h
index 4596987150..130738b1ab 100644
--- a/src/cpu/cpu_map.h
+++ b/src/cpu/cpu_map.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jiri Denemark <jdenemar(a)redhat.com>
*/
#ifndef __VIR_CPU_MAP_H__
diff --git a/src/cpu/cpu_ppc64.c b/src/cpu/cpu_ppc64.c
index 858f40e0f0..9c75c4a2f2 100644
--- a/src/cpu/cpu_ppc64.c
+++ b/src/cpu/cpu_ppc64.c
@@ -17,11 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Anton Blanchard <anton(a)au.ibm.com>
- * Prerna Saxena <prerna(a)linux.vnet.ibm.com>
- * Li Zhang <zhlcindy(a)linux.vnet.ibm.com>
*/
#include <config.h>
diff --git a/src/cpu/cpu_ppc64.h b/src/cpu/cpu_ppc64.h
index a6c965928a..752f603cf6 100644
--- a/src/cpu/cpu_ppc64.h
+++ b/src/cpu/cpu_ppc64.h
@@ -16,10 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Anton Blanchard <anton(a)au.ibm.com>
- * Prerna Saxena <prerna(a)linux.vnet.ibm.com>
*/
#ifndef __VIR_CPU_PPC64_H__
diff --git a/src/cpu/cpu_ppc64_data.h b/src/cpu/cpu_ppc64_data.h
index ddbffaef05..ef89a3610b 100644
--- a/src/cpu/cpu_ppc64_data.h
+++ b/src/cpu/cpu_ppc64_data.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Li Zhang <zhlcindy(a)linux.vnet.ibm.com>
*/
#ifndef __VIR_CPU_PPC64_DATA_H__
diff --git a/src/cpu/cpu_s390.c b/src/cpu/cpu_s390.c
index 1abbb584a1..8f52924383 100644
--- a/src/cpu/cpu_s390.c
+++ b/src/cpu/cpu_s390.c
@@ -17,9 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Thang Pham <thang.pham(a)us.ibm.com>
*/
#include <config.h>
diff --git a/src/cpu/cpu_s390.h b/src/cpu/cpu_s390.h
index 7e0117c87c..8a6ad9692c 100644
--- a/src/cpu/cpu_s390.h
+++ b/src/cpu/cpu_s390.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Thang Pham <thang.pham(a)us.ibm.com>
*/
#ifndef __VIR_CPU_S390X_H__
diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index ebfa74fccd..d3a88da21d 100644
--- a/src/cpu/cpu_x86.c
+++ b/src/cpu/cpu_x86.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jiri Denemark <jdenemar(a)redhat.com>
*/
#include <config.h>
diff --git a/src/cpu/cpu_x86.h b/src/cpu/cpu_x86.h
index 5d14d83e1b..b6ad687f85 100644
--- a/src/cpu/cpu_x86.h
+++ b/src/cpu/cpu_x86.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jiri Denemark <jdenemar(a)redhat.com>
*/
#ifndef __VIR_CPU_X86_H__
diff --git a/src/cpu/cpu_x86_data.h b/src/cpu/cpu_x86_data.h
index f52bba821f..32da772002 100644
--- a/src/cpu/cpu_x86_data.h
+++ b/src/cpu/cpu_x86_data.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jiri Denemark <jdenemar(a)redhat.com>
*/
#ifndef __VIR_CPU_X86_DATA_H__
diff --git a/src/dtrace2systemtap.pl b/src/dtrace2systemtap.pl
old mode 100755
new mode 100644
index 92c76a66eb..c5fce248b4
--- a/src/dtrace2systemtap.pl
+++ b/src/dtrace2systemtap.pl
@@ -16,7 +16,6 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
-# Author: Daniel P. Berrange <berrange(a)redhat.com>
#
# Generate a set of systemtap probe definitions corresponding to
# DTrace probe markers in libvirt.so
diff --git a/src/interface/interface_backend_netcf.c b/src/interface/interface_backend_netcf.c
index 8ca7f9012e..a28d1353c1 100644
--- a/src/interface/interface_backend_netcf.c
+++ b/src/interface/interface_backend_netcf.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Laine Stump <laine(a)redhat.com>
*/
#include <config.h>
diff --git a/src/interface/interface_driver.h b/src/interface/interface_driver.h
index 80ada5c81d..59d8564801 100644
--- a/src/interface/interface_driver.h
+++ b/src/interface/interface_driver.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Laine Stump <laine(a)redhat.com>
*/
diff --git a/src/libvirt-admin.c b/src/libvirt-admin.c
index 4d3f241592..fb0190042a 100644
--- a/src/libvirt-admin.c
+++ b/src/libvirt-admin.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Martin Kletzander <mkletzan(a)redhat.com>
*/
#include <config.h>
diff --git a/src/libvirt-lxc.c b/src/libvirt-lxc.c
index 9bf0174b95..47a06a39f2 100644
--- a/src/libvirt-lxc.c
+++ b/src/libvirt-lxc.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/libvirt-qemu.c b/src/libvirt-qemu.c
index 43f63839eb..1afb5fe529 100644
--- a/src/libvirt-qemu.c
+++ b/src/libvirt-qemu.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Chris Lalancette <clalance(a)redhat.com>
*/
#include <config.h>
diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c
index 58ec13fbe5..111fb462e4 100644
--- a/src/libxl/libxl_capabilities.c
+++ b/src/libxl/libxl_capabilities.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jim Fehlig <jfehlig(a)suse.com>
*/
#include <config.h>
diff --git a/src/libxl/libxl_capabilities.h b/src/libxl/libxl_capabilities.h
index 992b780771..7d3fc3e183 100644
--- a/src/libxl/libxl_capabilities.h
+++ b/src/libxl/libxl_capabilities.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jim Fehlig <jfehlig(a)suse.com>
*/
#ifndef LIBXL_CAPABILITIES_H
diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index 8116d2aaf8..73e988a3dc 100644
--- a/src/libxl/libxl_conf.c
+++ b/src/libxl/libxl_conf.c
@@ -18,10 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jim Fehlig <jfehlig(a)novell.com>
- * Markus Groß <gross(a)univention.de>
*/
#include <config.h>
diff --git a/src/libxl/libxl_conf.h b/src/libxl/libxl_conf.h
index 61f586f048..f7364597ed 100644
--- a/src/libxl/libxl_conf.h
+++ b/src/libxl/libxl_conf.h
@@ -17,10 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jim Fehlig <jfehlig(a)novell.com>
- * Markus Groß <gross(a)univention.de>
*/
#ifndef LIBXL_CONF_H
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index 6d1e15b14c..3ada51f517 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jim Fehlig <jfehlig(a)suse.com>
*/
#include <config.h>
diff --git a/src/libxl/libxl_domain.h b/src/libxl/libxl_domain.h
index 3bce93500c..40c15f9d24 100644
--- a/src/libxl/libxl_domain.h
+++ b/src/libxl/libxl_domain.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jim Fehlig <jfehlig(a)suse.com>
*/
#ifndef LIBXL_DOMAIN_H
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index eb719345e8..3d03e7320a 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -18,11 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jim Fehlig <jfehlig(a)novell.com>
- * Markus Groß <gross(a)univention.de>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/libxl/libxl_driver.h b/src/libxl/libxl_driver.h
index a33d60cbf2..db161760f5 100644
--- a/src/libxl/libxl_driver.h
+++ b/src/libxl/libxl_driver.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jim Fehlig <jfehlig(a)novell.com>
*/
#ifndef LIBXL_DRIVER_H
diff --git a/src/libxl/libxl_logger.c b/src/libxl/libxl_logger.c
index 9e6e504445..7c97da45d5 100644
--- a/src/libxl/libxl_logger.c
+++ b/src/libxl/libxl_logger.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Cédric Bosdonnat <cbosdonnat(a)suse.com>
*/
#include <config.h>
diff --git a/src/libxl/libxl_logger.h b/src/libxl/libxl_logger.h
index 68dc1e53f1..6b7adf816c 100644
--- a/src/libxl/libxl_logger.h
+++ b/src/libxl/libxl_logger.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Cédric Bosdonnat <cbosdonnat(a)suse.com>
*/
#ifndef __LIBXL_LOGGER_H
diff --git a/src/libxl/libxl_migration.c b/src/libxl/libxl_migration.c
index bb00927133..cd33efa417 100644
--- a/src/libxl/libxl_migration.c
+++ b/src/libxl/libxl_migration.c
@@ -16,10 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jim Fehlig <jfehlig(a)suse.com>
- * Chunyan Liu <cyliu(a)suse.com>
*/
#include <config.h>
diff --git a/src/libxl/libxl_migration.h b/src/libxl/libxl_migration.h
index 42897426da..db5cdfcd03 100644
--- a/src/libxl/libxl_migration.h
+++ b/src/libxl/libxl_migration.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Jim Fehlig <jfehlig(a)suse.com>
*/
#ifndef LIBXL_MIGRATION_H
diff --git a/src/locking/lock_daemon.c b/src/locking/lock_daemon.c
index 5bd7c4600a..06616310b1 100644
--- a/src/locking/lock_daemon.c
+++ b/src/locking/lock_daemon.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/locking/lock_daemon.h b/src/locking/lock_daemon.h
index da62edc2f7..7cdf79fb69 100644
--- a/src/locking/lock_daemon.h
+++ b/src/locking/lock_daemon.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_LOCK_DAEMON_H__
diff --git a/src/locking/lock_daemon_config.c b/src/locking/lock_daemon_config.c
index efa5655a30..03feeb02a5 100644
--- a/src/locking/lock_daemon_config.c
+++ b/src/locking/lock_daemon_config.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/locking/lock_daemon_config.h b/src/locking/lock_daemon_config.h
index 3e642208f5..9b2a8c2ebb 100644
--- a/src/locking/lock_daemon_config.h
+++ b/src/locking/lock_daemon_config.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_LOCK_DAEMON_CONFIG_H__
diff --git a/src/locking/lock_daemon_dispatch.c b/src/locking/lock_daemon_dispatch.c
index 1b479db55d..7f3c806220 100644
--- a/src/locking/lock_daemon_dispatch.c
+++ b/src/locking/lock_daemon_dispatch.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/locking/lock_daemon_dispatch.h b/src/locking/lock_daemon_dispatch.h
index a193a583e4..153f22b1ca 100644
--- a/src/locking/lock_daemon_dispatch.h
+++ b/src/locking/lock_daemon_dispatch.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_LOCK_DAEMON_DISPATCH_H__
diff --git a/src/logging/log_daemon.c b/src/logging/log_daemon.c
index edf93ad712..b84d7dc737 100644
--- a/src/logging/log_daemon.c
+++ b/src/logging/log_daemon.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/logging/log_daemon.h b/src/logging/log_daemon.h
index 8d55bb244f..7634f9e7fb 100644
--- a/src/logging/log_daemon.h
+++ b/src/logging/log_daemon.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_LOG_DAEMON_H__
diff --git a/src/logging/log_daemon_config.c b/src/logging/log_daemon_config.c
index 3226b2c484..ec6d0686f4 100644
--- a/src/logging/log_daemon_config.c
+++ b/src/logging/log_daemon_config.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/logging/log_daemon_config.h b/src/logging/log_daemon_config.h
index 53101b0610..35914fc4ef 100644
--- a/src/logging/log_daemon_config.h
+++ b/src/logging/log_daemon_config.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_LOG_DAEMON_CONFIG_H__
diff --git a/src/logging/log_daemon_dispatch.c b/src/logging/log_daemon_dispatch.c
index ec691127ab..0442e8cd94 100644
--- a/src/logging/log_daemon_dispatch.c
+++ b/src/logging/log_daemon_dispatch.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/logging/log_daemon_dispatch.h b/src/logging/log_daemon_dispatch.h
index af3e3b47a1..13101c4fea 100644
--- a/src/logging/log_daemon_dispatch.h
+++ b/src/logging/log_daemon_dispatch.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_LOG_DAEMON_DISPATCH_H__
diff --git a/src/logging/log_handler.c b/src/logging/log_handler.c
index 5364e06dff..9e1f1f1577 100644
--- a/src/logging/log_handler.c
+++ b/src/logging/log_handler.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/logging/log_handler.h b/src/logging/log_handler.h
index 70be567ccc..16bcd0df65 100644
--- a/src/logging/log_handler.h
+++ b/src/logging/log_handler.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_LOG_HANDLER_H__
diff --git a/src/logging/log_manager.c b/src/logging/log_manager.c
index e84abdbef9..cd7935802d 100644
--- a/src/logging/log_manager.c
+++ b/src/logging/log_manager.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/logging/log_manager.h b/src/logging/log_manager.h
index 7f8e51838b..0f3d55a5f0 100644
--- a/src/logging/log_manager.h
+++ b/src/logging/log_manager.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
diff --git a/src/lxc/lxc_conf.c b/src/lxc/lxc_conf.c
index cecab7611d..c8fa8c4f44 100644
--- a/src/lxc/lxc_conf.c
+++ b/src/lxc/lxc_conf.c
@@ -4,9 +4,6 @@
*
* lxc_conf.c: config functions for managing linux containers
*
- * Authors:
- * David L. Leskovec <dlesko at linux.vnet.ibm.com>
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/src/lxc/lxc_conf.h b/src/lxc/lxc_conf.h
index 5fb4bb1b0d..eecc4c7c0b 100644
--- a/src/lxc/lxc_conf.h
+++ b/src/lxc/lxc_conf.h
@@ -4,9 +4,6 @@
*
* lxc_conf.h: header file for linux container config functions
*
- * Authors:
- * David L. Leskovec <dlesko at linux.vnet.ibm.com>
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index d834bf01d7..905645a41c 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -5,10 +5,6 @@
*
* lxc_container.c: Performs container setup tasks
*
- * Authors:
- * David L. Leskovec <dlesko at linux.vnet.ibm.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/src/lxc/lxc_container.h b/src/lxc/lxc_container.h
index 641e2d4607..d647a629fc 100644
--- a/src/lxc/lxc_container.h
+++ b/src/lxc/lxc_container.h
@@ -3,9 +3,6 @@
*
* lxc_container.h: Performs container setup tasks
*
- * Authors:
- * David L. Leskovec <dlesko at linux.vnet.ibm.com>
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c
index 7bcfc0d965..99360397a7 100644
--- a/src/lxc/lxc_controller.c
+++ b/src/lxc/lxc_controller.c
@@ -4,9 +4,6 @@
*
* lxc_controller.c: linux container process controller
*
- * Authors:
- * David L. Leskovec <dlesko at linux.vnet.ibm.com>
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index 990871d9b3..de045c80bb 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -4,9 +4,6 @@
*
* lxc_driver.c: linux container driver functions
*
- * Authors:
- * David L. Leskovec <dlesko at linux.vnet.ibm.com>
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/src/lxc/lxc_driver.h b/src/lxc/lxc_driver.h
index 656831cce8..851fc2d85d 100644
--- a/src/lxc/lxc_driver.h
+++ b/src/lxc/lxc_driver.h
@@ -3,9 +3,6 @@
*
* lxc_driver.h: header file for linux container driver functions
*
- * Authors:
- * David L. Leskovec <dlesko at linux.vnet.ibm.com>
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/src/lxc/lxc_fuse.c b/src/lxc/lxc_fuse.c
index 9b889c4b27..e0b77031da 100644
--- a/src/lxc/lxc_fuse.c
+++ b/src/lxc/lxc_fuse.c
@@ -4,9 +4,6 @@
*
* lxc_fuse.c: fuse filesystem support for libvirt lxc
*
- * Authors:
- * Gao feng <gaofeng at cn.fujitsu.com>
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/src/lxc/lxc_fuse.h b/src/lxc/lxc_fuse.h
index 38bbe22f7b..bf22758c4a 100644
--- a/src/lxc/lxc_fuse.h
+++ b/src/lxc/lxc_fuse.h
@@ -3,9 +3,6 @@
*
* lxc_fuse.c: fuse filesystem support for libvirt lxc
*
- * Authors:
- * Gao feng <gaofeng at cn.fujitsu.com>
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/src/lxc/lxc_hostdev.c b/src/lxc/lxc_hostdev.c
index fb980efb27..6dbed9b9a4 100644
--- a/src/lxc/lxc_hostdev.c
+++ b/src/lxc/lxc_hostdev.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/lxc/lxc_hostdev.h b/src/lxc/lxc_hostdev.h
index b3bc45e2b1..f48b1805aa 100644
--- a/src/lxc/lxc_hostdev.h
+++ b/src/lxc/lxc_hostdev.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __LXC_HOSTDEV_H__
diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c
index 0d21d9fb2b..1eee3fc2bb 100644
--- a/src/lxc/lxc_native.c
+++ b/src/lxc/lxc_native.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Cedric Bosdonnat <cbosdonnat(a)suse.com>
*/
#include <config.h>
diff --git a/src/lxc/lxc_native.h b/src/lxc/lxc_native.h
index 15fa0d5474..2c13c00658 100644
--- a/src/lxc/lxc_native.h
+++ b/src/lxc/lxc_native.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Cedric Bosdonnat <cbosdonnat(a)suse.com>
*/
#ifndef __LXC_NATIVE_H__
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index 4bbc4f5a6d..aed80c04d5 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/network/bridge_driver.h b/src/network/bridge_driver.h
index b70881a690..dff37930d3 100644
--- a/src/network/bridge_driver.h
+++ b/src/network/bridge_driver.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
diff --git a/src/network/bridge_driver_linux.c b/src/network/bridge_driver_linux.c
index fb09954b8f..dd08222653 100644
--- a/src/network/bridge_driver_linux.c
+++ b/src/network/bridge_driver_linux.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/network/bridge_driver_nop.c b/src/network/bridge_driver_nop.c
index 5e1acd07b4..ce529a60a1 100644
--- a/src/network/bridge_driver_nop.c
+++ b/src/network/bridge_driver_nop.c
@@ -15,8 +15,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/network/bridge_driver_platform.c b/src/network/bridge_driver_platform.c
index 1d2fc02477..9ddcb71063 100644
--- a/src/network/bridge_driver_platform.c
+++ b/src/network/bridge_driver_platform.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/network/bridge_driver_platform.h b/src/network/bridge_driver_platform.h
index 706000df4e..8507ec4b97 100644
--- a/src/network/bridge_driver_platform.h
+++ b/src/network/bridge_driver_platform.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_BRIDGE_DRIVER_PLATFORM_H__
diff --git a/src/network/leaseshelper.c b/src/network/leaseshelper.c
index 40b89ac939..d59ef34f20 100644
--- a/src/network/leaseshelper.c
+++ b/src/network/leaseshelper.c
@@ -18,8 +18,6 @@
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
- * Author: Nehal J Wani <nehaljw.kkd1(a)gmail.com>
- *
* For IPv6 support, use dnsmasq >= 2.67
*/
diff --git a/src/node_device/node_device_driver.c b/src/node_device/node_device_driver.c
index 0bcb3de053..8fb00d0c86 100644
--- a/src/node_device/node_device_driver.c
+++ b/src/node_device/node_device_driver.c
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: David F. Lively <dlively(a)virtualiron.com>
*/
#include <config.h>
diff --git a/src/node_device/node_device_driver.h b/src/node_device/node_device_driver.h
index 83a9449139..037fc72bce 100644
--- a/src/node_device/node_device_driver.h
+++ b/src/node_device/node_device_driver.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: David F. Lively <dlively(a)virtualiron.com>
*/
#ifndef __VIR_NODE_DEVICE_H__
diff --git a/src/node_device/node_device_hal.c b/src/node_device/node_device_hal.c
index 298c08ccb6..b77c743305 100644
--- a/src/node_device/node_device_hal.c
+++ b/src/node_device/node_device_hal.c
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: David F. Lively <dlively(a)virtualiron.com>
*/
#include <config.h>
diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index f134719b82..aa86058113 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Dave Allan <dallan(a)redhat.com>
*/
#include <config.h>
diff --git a/src/node_device/node_device_udev.h b/src/node_device/node_device_udev.h
index adbdaf27a8..af877160cd 100644
--- a/src/node_device/node_device_udev.h
+++ b/src/node_device/node_device_udev.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Dave Allan <dallan(a)redhat.com>
*/
#include <libudev.h>
diff --git a/src/nwfilter/nwfilter_dhcpsnoop.c b/src/nwfilter/nwfilter_dhcpsnoop.c
index e40f649ed5..58f0057c3f 100644
--- a/src/nwfilter/nwfilter_dhcpsnoop.c
+++ b/src/nwfilter/nwfilter_dhcpsnoop.c
@@ -5,10 +5,6 @@
* Copyright (C) 2012-2014 Red Hat, Inc.
* Copyright (C) 2011,2012 IBM Corp.
*
- * Authors:
- * David L Stevens <dlstevens(a)us.ibm.com>
- * Stefan Berger <stefanb(a)linux.vnet.ibm.com>
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
@@ -22,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Based in part on work by Stefan Berger <stefanb(a)us.ibm.com>
*/
/*
diff --git a/src/nwfilter/nwfilter_dhcpsnoop.h b/src/nwfilter/nwfilter_dhcpsnoop.h
index c693e1adbd..028c236a96 100644
--- a/src/nwfilter/nwfilter_dhcpsnoop.h
+++ b/src/nwfilter/nwfilter_dhcpsnoop.h
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: David L Stevens <dlstevens(a)us.ibm.com>
*/
#ifndef __NWFILTER_DHCPSNOOP_H
diff --git a/src/nwfilter/nwfilter_driver.c b/src/nwfilter/nwfilter_driver.c
index 1ab906fd5a..0e29d3e19e 100644
--- a/src/nwfilter/nwfilter_driver.c
+++ b/src/nwfilter/nwfilter_driver.c
@@ -20,9 +20,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
- * Stefan Berger <stefanb(a)us.ibm.com>
*/
#include <config.h>
diff --git a/src/nwfilter/nwfilter_driver.h b/src/nwfilter/nwfilter_driver.h
index ad56e7bb2f..1dfb9b31e6 100644
--- a/src/nwfilter/nwfilter_driver.h
+++ b/src/nwfilter/nwfilter_driver.h
@@ -20,9 +20,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
- * Stefan Berger <stefanb(a)us.ibm.com>
*/
#ifndef __VIR_NWFILTER_DRIVER_H__
diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfilter_ebiptables_driver.c
index 5be1c9b07a..75ec1962b6 100644
--- a/src/nwfilter/nwfilter_ebiptables_driver.c
+++ b/src/nwfilter/nwfilter_ebiptables_driver.c
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)us.ibm.com>
*/
#include <config.h>
diff --git a/src/nwfilter/nwfilter_ebiptables_driver.h b/src/nwfilter/nwfilter_ebiptables_driver.h
index 098d5dd75f..2b6b74277f 100644
--- a/src/nwfilter/nwfilter_ebiptables_driver.h
+++ b/src/nwfilter/nwfilter_ebiptables_driver.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)us.ibm.com>
*/
#ifndef VIR_NWFILTER_EBTABLES_DRIVER_H__
# define VIR_NWFILTER_EBTABLES_DRIVER_H__
diff --git a/src/nwfilter/nwfilter_gentech_driver.c b/src/nwfilter/nwfilter_gentech_driver.c
index a2ad95d209..655f088a17 100644
--- a/src/nwfilter/nwfilter_gentech_driver.c
+++ b/src/nwfilter/nwfilter_gentech_driver.c
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)us.ibm.com>
*/
#include <config.h>
diff --git a/src/nwfilter/nwfilter_gentech_driver.h b/src/nwfilter/nwfilter_gentech_driver.h
index 2cd19c90fc..57ce5d05ec 100644
--- a/src/nwfilter/nwfilter_gentech_driver.h
+++ b/src/nwfilter/nwfilter_gentech_driver.h
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)us.ibm.com>
*/
#ifndef __NWFILTER_GENTECH_DRIVER_H
# define __NWFILTER_GENTECH_DRIVER_H
diff --git a/src/nwfilter/nwfilter_learnipaddr.c b/src/nwfilter/nwfilter_learnipaddr.c
index e6cb9964ac..cd66e3ea7d 100644
--- a/src/nwfilter/nwfilter_learnipaddr.c
+++ b/src/nwfilter/nwfilter_learnipaddr.c
@@ -19,8 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)us.ibm.com>
*/
#include <config.h>
diff --git a/src/nwfilter/nwfilter_learnipaddr.h b/src/nwfilter/nwfilter_learnipaddr.h
index 7f17244100..40d00ed68a 100644
--- a/src/nwfilter/nwfilter_learnipaddr.h
+++ b/src/nwfilter/nwfilter_learnipaddr.h
@@ -19,8 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)us.ibm.com>
*/
#ifndef __NWFILTER_LEARNIPADDR_H
diff --git a/src/nwfilter/nwfilter_tech_driver.h b/src/nwfilter/nwfilter_tech_driver.h
index d2ac0077db..64fa5bcbb5 100644
--- a/src/nwfilter/nwfilter_tech_driver.h
+++ b/src/nwfilter/nwfilter_tech_driver.h
@@ -19,8 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)us.ibm.com>
*/
#ifndef __NWFILTER_TECH_DRIVER_H__
diff --git a/src/openvz/openvz_conf.c b/src/openvz/openvz_conf.c
index 75d094fcfa..be5f89ea45 100644
--- a/src/openvz/openvz_conf.c
+++ b/src/openvz/openvz_conf.c
@@ -19,11 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Shuveb Hussain <shuveb(a)binarykarma.com>
- * Anoop Joe Cyriac <anoop(a)binarykarma.com>
- *
*/
#include <config.h>
diff --git a/src/openvz/openvz_conf.h b/src/openvz/openvz_conf.h
index be7e16df53..e1e0066df6 100644
--- a/src/openvz/openvz_conf.h
+++ b/src/openvz/openvz_conf.h
@@ -19,11 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Shuveb Hussain <shuveb(a)binarykarma.com>
- * Anoop Joe Cyriac <anoop(a)binarykarma.com>
- *
*/
#ifndef OPENVZ_CONF_H
diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
index 0dbd7be0e6..a570532808 100644
--- a/src/openvz/openvz_driver.c
+++ b/src/openvz/openvz_driver.c
@@ -19,11 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Shuveb Hussain <shuveb(a)binarykarma.com>
- * Anoop Joe Cyriac <anoop(a)binarykarma.com>
- *
*/
#include <config.h>
diff --git a/src/openvz/openvz_driver.h b/src/openvz/openvz_driver.h
index fb120c987c..d78a877c51 100644
--- a/src/openvz/openvz_driver.h
+++ b/src/openvz/openvz_driver.h
@@ -18,11 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Shuveb Hussain <shuveb(a)binarykarma.com>
- * Anoop Joe Cyriac <anoop(a)binarykarma.com>
- *
*/
diff --git a/src/phyp/phyp_driver.c b/src/phyp/phyp_driver.c
index 3143140626..4acc6ce734 100644
--- a/src/phyp/phyp_driver.c
+++ b/src/phyp/phyp_driver.c
@@ -4,9 +4,6 @@
*
* phyp_driver.c: ssh layer to access Power Hypervisors
*
- * Authors:
- * Eduardo Otubo <otubo at linux.vnet.ibm.com>
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/src/phyp/phyp_driver.h b/src/phyp/phyp_driver.h
index a82aafd649..c6410bcc41 100644
--- a/src/phyp/phyp_driver.h
+++ b/src/phyp/phyp_driver.h
@@ -4,9 +4,6 @@
*
* phyp_driver.c: ssh layer to access Power Hypervisors
*
- * Authors:
- * Eduardo Otubo <otubo at linux.vnet.ibm.com>
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c
index d842b0e6dc..2ff16182ff 100644
--- a/src/qemu/qemu_agent.c
+++ b/src/qemu/qemu_agent.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_agent.h b/src/qemu/qemu_agent.h
index 4354b7e0cf..219cb9e1dd 100644
--- a/src/qemu/qemu_agent.h
+++ b/src/qemu/qemu_agent.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
diff --git a/src/qemu/qemu_alias.c b/src/qemu/qemu_alias.c
index 815caec465..585cc972ba 100644
--- a/src/qemu/qemu_alias.c
+++ b/src/qemu/qemu_alias.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_alias.h b/src/qemu/qemu_alias.h
index 33b9937ea4..441cb16bc1 100644
--- a/src/qemu/qemu_alias.h
+++ b/src/qemu/qemu_alias.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __QEMU_ALIAS_H__
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 9258bf6ee3..a04775c6b0 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index c109887c0c..2a3057e249 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __QEMU_CAPABILITIES_H__
diff --git a/src/qemu/qemu_capspriv.h b/src/qemu/qemu_capspriv.h
index 8d1a40fe74..3262a63eae 100644
--- a/src/qemu/qemu_capspriv.h
+++ b/src/qemu/qemu_capspriv.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Pavel Fedin <p.fedin(a)samsung.com>
*/
#ifndef __QEMU_CAPSPRIV_H_ALLOW__
diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
index 3a6efdc4f1..4931fb6575 100644
--- a/src/qemu/qemu_cgroup.c
+++ b/src/qemu/qemu_cgroup.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_cgroup.h b/src/qemu/qemu_cgroup.h
index c2fca7fc1d..4541c644ee 100644
--- a/src/qemu/qemu_cgroup.h
+++ b/src/qemu/qemu_cgroup.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __QEMU_CGROUP_H__
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 1a1cb9cbbd..66a4a35184 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h
index 5cd744b8bf..2ee0633d6c 100644
--- a/src/qemu/qemu_command.h
+++ b/src/qemu/qemu_command.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __QEMU_COMMAND_H__
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index a946b05d5d..b03e38b831 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h
index 8986350fad..b70a0cda7c 100644
--- a/src/qemu/qemu_conf.h
+++ b/src/qemu/qemu_conf.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __QEMUD_CONF_H
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 73a1241b56..05ea128525 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index b7347c72ce..cc17d622a2 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __QEMU_DOMAIN_H__
diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c
index 4cee6633ac..bd6c4031e0 100644
--- a/src/qemu/qemu_domain_address.c
+++ b/src/qemu/qemu_domain_address.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_domain_address.h b/src/qemu/qemu_domain_address.h
index 89d7a5ac3e..62d92777bc 100644
--- a/src/qemu/qemu_domain_address.h
+++ b/src/qemu/qemu_domain_address.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __QEMU_DOMAIN_ADDRESS_H__
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index d0cf2c115a..d1ec112086 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_driver.h b/src/qemu/qemu_driver.h
index df7533a8a2..2e7ed9331e 100644
--- a/src/qemu/qemu_driver.h
+++ b/src/qemu/qemu_driver.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __QEMU_DRIVER_H__
diff --git a/src/qemu/qemu_extdevice.c b/src/qemu/qemu_extdevice.c
index 27cf118c14..5775563508 100644
--- a/src/qemu/qemu_extdevice.c
+++ b/src/qemu/qemu_extdevice.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)linux.vnet.ibm.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_extdevice.h b/src/qemu/qemu_extdevice.h
index c26cdd50b2..f5d6945636 100644
--- a/src/qemu/qemu_extdevice.h
+++ b/src/qemu/qemu_extdevice.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)linux.vnet.ibm.com>
*/
#ifndef __QEMU_EXTDEVICE_H__
# define __QEMU_EXTDEVICE_H__
diff --git a/src/qemu/qemu_hostdev.c b/src/qemu/qemu_hostdev.c
index bba141c9ee..a487e1d3aa 100644
--- a/src/qemu/qemu_hostdev.c
+++ b/src/qemu/qemu_hostdev.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_hostdev.h b/src/qemu/qemu_hostdev.h
index 9a7c7f143c..1f5542b129 100644
--- a/src/qemu/qemu_hostdev.h
+++ b/src/qemu/qemu_hostdev.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __QEMU_HOSTDEV_H__
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 4e795c7859..72b09f92ca 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
diff --git a/src/qemu/qemu_hotplug.h b/src/qemu/qemu_hotplug.h
index 0297e42a98..bccf112206 100644
--- a/src/qemu/qemu_hotplug.h
+++ b/src/qemu/qemu_hotplug.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __QEMU_HOTPLUG_H__
diff --git a/src/qemu/qemu_interface.c b/src/qemu/qemu_interface.c
index a3f13093f5..4c066d2ef3 100644
--- a/src/qemu/qemu_interface.c
+++ b/src/qemu/qemu_interface.c
@@ -17,9 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Matthew J. Rosato <mjrosato(a)linux.vnet.ibm.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_interface.h b/src/qemu/qemu_interface.h
index 45fdbc4b8e..08df5619ea 100644
--- a/src/qemu/qemu_interface.h
+++ b/src/qemu/qemu_interface.h
@@ -17,9 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Matthew J. Rosato <mjrosato(a)linux.vnet.ibm.com>
*/
#ifndef __QEMU_INTERFACE_H__
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index 1d40aef127..713fe2fab4 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
index 66bfdb0e5c..5d30973a37 100644
--- a/src/qemu/qemu_monitor.h
+++ b/src/qemu/qemu_monitor.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index dfcc6d88b5..1c0245534c 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h
index c3abd0ddf0..a82814dde6 100644
--- a/src/qemu/qemu_monitor_json.h
+++ b/src/qemu/qemu_monitor_json.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c
index f98c7d1421..0b2c1a6aed 100644
--- a/src/qemu/qemu_monitor_text.c
+++ b/src/qemu/qemu_monitor_text.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_monitor_text.h b/src/qemu/qemu_monitor_text.h
index 5cb5dba441..8b9a9caeb3 100644
--- a/src/qemu/qemu_monitor_text.h
+++ b/src/qemu/qemu_monitor_text.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
diff --git a/src/qemu/qemu_parse_command.c b/src/qemu/qemu_parse_command.c
index d91fc8d901..c4650f01e0 100644
--- a/src/qemu/qemu_parse_command.c
+++ b/src/qemu/qemu_parse_command.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_parse_command.h b/src/qemu/qemu_parse_command.h
index a4db1a50ca..ffada71f58 100644
--- a/src/qemu/qemu_parse_command.h
+++ b/src/qemu/qemu_parse_command.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __QEMU_PARSE_COMMAND_H__
diff --git a/src/qemu/qemu_security.c b/src/qemu/qemu_security.c
index aedee735b4..5faa34a4fd 100644
--- a/src/qemu/qemu_security.c
+++ b/src/qemu/qemu_security.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_security.h b/src/qemu/qemu_security.h
index 45d26a0dbf..8bb50c9534 100644
--- a/src/qemu/qemu_security.h
+++ b/src/qemu/qemu_security.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn(a)redhat.com>
*/
#ifndef __QEMU_SECURITY_H__
diff --git a/src/qemu/qemu_tpm.c b/src/qemu/qemu_tpm.c
index af85f7b25f..15b6ab8870 100644
--- a/src/qemu/qemu_tpm.c
+++ b/src/qemu/qemu_tpm.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)linux.vnet.ibm.com>
*/
#include <config.h>
diff --git a/src/qemu/qemu_tpm.h b/src/qemu/qemu_tpm.h
index c7eeaafeb9..93a45b9691 100644
--- a/src/qemu/qemu_tpm.h
+++ b/src/qemu/qemu_tpm.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)linux.vnet.ibm.com>
*/
#ifndef __QEMU_TPM_H__
# define __QEMU_TPM_H__
diff --git a/src/remote/lxc_protocol.x b/src/remote/lxc_protocol.x
index 1cde90ef18..bbdad584b8 100644
--- a/src/remote/lxc_protocol.x
+++ b/src/remote/lxc_protocol.x
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel Berrange <berrange(a)redhat.com>
*/
%#include "internal.h"
diff --git a/src/remote/qemu_protocol.x b/src/remote/qemu_protocol.x
index f6b88a984c..423e8fadaf 100644
--- a/src/remote/qemu_protocol.x
+++ b/src/remote/qemu_protocol.x
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Chris Lalancette <clalance(a)redhat.com>
*/
%#include "internal.h"
diff --git a/src/remote/remote_daemon.c b/src/remote/remote_daemon.c
index c14a561618..f0dd7597e6 100644
--- a/src/remote/remote_daemon.c
+++ b/src/remote/remote_daemon.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/remote/remote_daemon.h b/src/remote/remote_daemon.h
index 2834da04a9..365a31c372 100644
--- a/src/remote/remote_daemon.h
+++ b/src/remote/remote_daemon.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
diff --git a/src/remote/remote_daemon_config.c b/src/remote/remote_daemon_config.c
index 27e0c635f1..a56aa9065a 100644
--- a/src/remote/remote_daemon_config.c
+++ b/src/remote/remote_daemon_config.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/remote/remote_daemon_config.h b/src/remote/remote_daemon_config.h
index 49ea80104b..c5595fa878 100644
--- a/src/remote/remote_daemon_config.h
+++ b/src/remote/remote_daemon_config.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __REMOTE_DAEMON_CONFIG_H__
diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon_dispatch.c
index e62ebfb596..402ef83ad1 100644
--- a/src/remote/remote_daemon_dispatch.c
+++ b/src/remote/remote_daemon_dispatch.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Richard W.M. Jones <rjones(a)redhat.com>
*/
#include <config.h>
diff --git a/src/remote/remote_daemon_dispatch.h b/src/remote/remote_daemon_dispatch.h
index 015ab977fc..d3b8cf2346 100644
--- a/src/remote/remote_daemon_dispatch.h
+++ b/src/remote/remote_daemon_dispatch.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Richard W.M. Jones <rjones(a)redhat.com>
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __REMOTE_DAEMON_DISPATCH_H__
diff --git a/src/remote/remote_daemon_stream.c b/src/remote/remote_daemon_stream.c
index 38d50d1d1c..1f6e783881 100644
--- a/src/remote/remote_daemon_stream.c
+++ b/src/remote/remote_daemon_stream.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
diff --git a/src/remote/remote_daemon_stream.h b/src/remote/remote_daemon_stream.h
index 832e1f7547..2c1eeddb18 100644
--- a/src/remote/remote_daemon_stream.h
+++ b/src/remote/remote_daemon_stream.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index dc61391553..058e4c926b 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Richard Jones <rjones(a)redhat.com>
*/
#include <config.h>
diff --git a/src/remote/remote_driver.h b/src/remote/remote_driver.h
index 4033a3cd2c..c125a3de82 100644
--- a/src/remote/remote_driver.h
+++ b/src/remote/remote_driver.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Richard Jones <rjones(a)redhat.com>
*/
#ifndef __VIR_REMOTE_INTERNAL_H__
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index 7630b2ed15..b9d26b1849 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Richard Jones <rjones(a)redhat.com>
*/
/* Notes:
diff --git a/src/rpc/gensystemtap.pl b/src/rpc/gensystemtap.pl
old mode 100755
new mode 100644
index c0d3435096..6693d4d6f5
--- a/src/rpc/gensystemtap.pl
+++ b/src/rpc/gensystemtap.pl
@@ -16,8 +16,6 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
-# Author: Daniel P. Berrange <berrange(a)redhat.com>
-#
# Generate a set of systemtap functions for translating various
# RPC enum values into strings
#
diff --git a/src/rpc/virkeepalive.c b/src/rpc/virkeepalive.c
index 04bba82112..fc18e6a204 100644
--- a/src/rpc/virkeepalive.c
+++ b/src/rpc/virkeepalive.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jiri Denemark <jdenemar(a)redhat.com>
*/
#include <config.h>
diff --git a/src/rpc/virkeepalive.h b/src/rpc/virkeepalive.h
index 2297cd95e8..26043ff67a 100644
--- a/src/rpc/virkeepalive.h
+++ b/src/rpc/virkeepalive.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jiri Denemark <jdenemar(a)redhat.com>
*/
#ifndef __VIR_KEEPALIVE_H__
diff --git a/src/rpc/virnetclient.c b/src/rpc/virnetclient.c
index b4d8fb2187..2aced79384 100644
--- a/src/rpc/virnetclient.c
+++ b/src/rpc/virnetclient.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/rpc/virnetclient.h b/src/rpc/virnetclient.h
index 9cf32091f5..80ca3bf8db 100644
--- a/src/rpc/virnetclient.h
+++ b/src/rpc/virnetclient.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NET_CLIENT_H__
diff --git a/src/rpc/virnetclientprogram.c b/src/rpc/virnetclientprogram.c
index 0c7bcef39c..5e68122881 100644
--- a/src/rpc/virnetclientprogram.c
+++ b/src/rpc/virnetclientprogram.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/rpc/virnetclientprogram.h b/src/rpc/virnetclientprogram.h
index 5f0a37d814..3e82113ee9 100644
--- a/src/rpc/virnetclientprogram.h
+++ b/src/rpc/virnetclientprogram.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NET_CLIENT_PROGRAM_H__
diff --git a/src/rpc/virnetclientstream.c b/src/rpc/virnetclientstream.c
index 05d76c9b87..1140b8dfa3 100644
--- a/src/rpc/virnetclientstream.c
+++ b/src/rpc/virnetclientstream.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/rpc/virnetclientstream.h b/src/rpc/virnetclientstream.h
index c4e01bf1ca..86db199b25 100644
--- a/src/rpc/virnetclientstream.h
+++ b/src/rpc/virnetclientstream.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NET_CLIENT_STREAM_H__
diff --git a/src/rpc/virnetdaemon.c b/src/rpc/virnetdaemon.c
index 08ce9c2cd2..833b78d7c0 100644
--- a/src/rpc/virnetdaemon.c
+++ b/src/rpc/virnetdaemon.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Martin Kletzander <mkletzan(a)redhat.com>
*/
#include <config.h>
diff --git a/src/rpc/virnetdaemon.h b/src/rpc/virnetdaemon.h
index 09ed5adf36..e6dbb2f6c7 100644
--- a/src/rpc/virnetdaemon.h
+++ b/src/rpc/virnetdaemon.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Martin Kletzander <mkletzan(a)redhat.com>
*/
#ifndef __VIR_NET_DAEMON_H__
diff --git a/src/rpc/virnetlibsshsession.c b/src/rpc/virnetlibsshsession.c
index 7c5f158f4d..e851e40d48 100644
--- a/src/rpc/virnetlibsshsession.c
+++ b/src/rpc/virnetlibsshsession.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Peter Krempa <pkrempa(a)redhat.com>
- * Author: Pino Toscano <ptoscano(a)redhat.com>
*/
#include <config.h>
#include <libssh/libssh.h>
diff --git a/src/rpc/virnetlibsshsession.h b/src/rpc/virnetlibsshsession.h
index aaf2f1caae..4dcf398f53 100644
--- a/src/rpc/virnetlibsshsession.h
+++ b/src/rpc/virnetlibsshsession.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Peter Krempa <pkrempa(a)redhat.com>
- * Author: Pino Toscano <ptoscano(a)redhat.com>
*/
#ifndef __VIR_NET_LIBSSH_SESSION_H__
# define __VIR_NET_LIBSSH_SESSION_H__
diff --git a/src/rpc/virnetprotocol.x b/src/rpc/virnetprotocol.x
index 901c671593..99f4f2e539 100644
--- a/src/rpc/virnetprotocol.x
+++ b/src/rpc/virnetprotocol.x
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Richard Jones <rjones(a)redhat.com>
*/
%#include "internal.h"
diff --git a/src/rpc/virnetserver.c b/src/rpc/virnetserver.c
index b4461b3803..380ca6b302 100644
--- a/src/rpc/virnetserver.c
+++ b/src/rpc/virnetserver.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/rpc/virnetserver.h b/src/rpc/virnetserver.h
index 26cec43c22..17dcad9595 100644
--- a/src/rpc/virnetserver.h
+++ b/src/rpc/virnetserver.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NET_SERVER_H__
diff --git a/src/rpc/virnetserverclient.c b/src/rpc/virnetserverclient.c
index 778cd1afc0..2464319a49 100644
--- a/src/rpc/virnetserverclient.c
+++ b/src/rpc/virnetserverclient.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/rpc/virnetserverclient.h b/src/rpc/virnetserverclient.h
index b7ff660eef..fa240f0d0f 100644
--- a/src/rpc/virnetserverclient.h
+++ b/src/rpc/virnetserverclient.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NET_SERVER_CLIENT_H__
diff --git a/src/rpc/virnetservermdns.c b/src/rpc/virnetservermdns.c
index e0a9aefc06..4c10749364 100644
--- a/src/rpc/virnetservermdns.c
+++ b/src/rpc/virnetservermdns.c
@@ -19,8 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/rpc/virnetservermdns.h b/src/rpc/virnetservermdns.h
index e91b264c1e..cced0ee0f3 100644
--- a/src/rpc/virnetservermdns.h
+++ b/src/rpc/virnetservermdns.h
@@ -19,8 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NET_SERVER_MDNS_H__
diff --git a/src/rpc/virnetserverprogram.c b/src/rpc/virnetserverprogram.c
index 8d2c34058b..53f566ba53 100644
--- a/src/rpc/virnetserverprogram.c
+++ b/src/rpc/virnetserverprogram.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/rpc/virnetserverprogram.h b/src/rpc/virnetserverprogram.h
index 03784478de..fdb6a60a2b 100644
--- a/src/rpc/virnetserverprogram.h
+++ b/src/rpc/virnetserverprogram.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NET_SERVER_PROGRAM_H__
diff --git a/src/rpc/virnetserverservice.c b/src/rpc/virnetserverservice.c
index e6762366ab..36c92c6714 100644
--- a/src/rpc/virnetserverservice.c
+++ b/src/rpc/virnetserverservice.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/rpc/virnetserverservice.h b/src/rpc/virnetserverservice.h
index a50cb19b6d..4a76704fb6 100644
--- a/src/rpc/virnetserverservice.h
+++ b/src/rpc/virnetserverservice.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NET_SERVER_SERVICE_H__
diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c
index 55de3b2aad..4f7b6d59f7 100644
--- a/src/rpc/virnetsocket.c
+++ b/src/rpc/virnetsocket.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/rpc/virnetsocket.h b/src/rpc/virnetsocket.h
index de795af917..2d64701e40 100644
--- a/src/rpc/virnetsocket.h
+++ b/src/rpc/virnetsocket.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NET_SOCKET_H__
diff --git a/src/rpc/virnetsshsession.c b/src/rpc/virnetsshsession.c
index 5e3ef992a9..324b35b675 100644
--- a/src/rpc/virnetsshsession.c
+++ b/src/rpc/virnetsshsession.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Peter Krempa <pkrempa(a)redhat.com>
*/
#include <config.h>
#include <libssh2.h>
diff --git a/src/rpc/virnetsshsession.h b/src/rpc/virnetsshsession.h
index 65bd76a94b..fa70ede414 100644
--- a/src/rpc/virnetsshsession.h
+++ b/src/rpc/virnetsshsession.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Peter Krempa <pkrempa(a)redhat.com>
*/
#ifndef __VIR_NET_SSH_SESSION_H__
# define __VIR_NET_SSH_SESSION_H__
diff --git a/src/secret/secret_driver.c b/src/secret/secret_driver.c
index 110117c359..ac85f5d195 100644
--- a/src/secret/secret_driver.c
+++ b/src/secret/secret_driver.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Red Hat Author: Miloslav Trmač <mitr(a)redhat.com>
*/
#include <config.h>
diff --git a/src/secret/secret_driver.h b/src/secret/secret_driver.h
index d89d79cb6d..7c722bda37 100644
--- a/src/secret/secret_driver.h
+++ b/src/secret/secret_driver.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Red Hat Author: Miloslav Trmač <mitr(a)redhat.com>
*/
#ifndef __VIR_SECRET_DRIVER_H__
diff --git a/src/security/security_apparmor.c b/src/security/security_apparmor.c
index 4ddf2a160b..0d28cae0b7 100644
--- a/src/security/security_apparmor.c
+++ b/src/security/security_apparmor.c
@@ -17,12 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author:
- * Jamie Strandboge <jamie(a)canonical.com>
- * Based on security_selinux.c by James Morris <jmorris(a)namei.org>
- *
- * AppArmor security driver.
*/
#include <config.h>
diff --git a/src/security/security_apparmor.h b/src/security/security_apparmor.h
index 7872588f64..f15238ab86 100644
--- a/src/security/security_apparmor.h
+++ b/src/security/security_apparmor.h
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author:
- * Jamie Strandboge <jamie(a)canonical.com>
- *
*/
#ifndef __VIR_SECURITY_APPARMOR_H__
# define __VIR_SECURITY_APPARMOR_H__
diff --git a/src/security/security_driver.c b/src/security/security_driver.c
index ac2e2544b6..bd32a9c207 100644
--- a/src/security/security_driver.c
+++ b/src/security/security_driver.c
@@ -14,11 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * James Morris <jmorris(a)namei.org>
- * Dan Walsh <dwalsh(a)redhat.com>
- *
*/
#include <config.h>
diff --git a/src/security/security_driver.h b/src/security/security_driver.h
index cd221f1c78..0de8826f31 100644
--- a/src/security/security_driver.h
+++ b/src/security/security_driver.h
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * James Morris <jmorris(a)namei.org>
- *
*/
#ifndef __VIR_SECURITY_H__
# define __VIR_SECURITY_H__
diff --git a/src/security/security_manager.c b/src/security/security_manager.c
index a049382c7b..f6b4c2d5d5 100644
--- a/src/security/security_manager.c
+++ b/src/security/security_manager.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/security/security_manager.h b/src/security/security_manager.h
index 7e82304689..23815ccded 100644
--- a/src/security/security_manager.h
+++ b/src/security/security_manager.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef VIR_SECURITY_MANAGER_H__
diff --git a/src/security/security_selinux.c b/src/security/security_selinux.c
index 95e9a1b0c7..7bff77d206 100644
--- a/src/security/security_selinux.c
+++ b/src/security/security_selinux.c
@@ -15,10 +15,6 @@
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
- * Authors:
- * James Morris <jmorris(a)namei.org>
- * Dan Walsh <dwalsh(a)redhat.com>
- *
* SELinux security driver.
*/
#include <config.h>
diff --git a/src/security/security_selinux.h b/src/security/security_selinux.h
index 1700d8c661..5d02d79b47 100644
--- a/src/security/security_selinux.h
+++ b/src/security/security_selinux.h
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * James Morris <jmorris(a)namei.org>
- *
*/
#ifndef __VIR_SECURITY_SELINUX_H__
# define __VIR_SECURITY_SELINUX_H__
diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c
index a0f2c8ff22..64a425671d 100644
--- a/src/security/virt-aa-helper.c
+++ b/src/security/virt-aa-helper.c
@@ -17,10 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author:
- * Jamie Strandboge <jamie(a)canonical.com>
- *
*/
#include <config.h>
diff --git a/src/storage/parthelper.c b/src/storage/parthelper.c
index cf05e63111..4a404ddfa6 100644
--- a/src/storage/parthelper.c
+++ b/src/storage/parthelper.c
@@ -26,8 +26,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
index a8877548e6..a54c338cf0 100644
--- a/src/storage/storage_backend.c
+++ b/src/storage/storage_backend.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/storage/storage_backend_disk.c b/src/storage/storage_backend_disk.c
index 9a0d550bc2..061c494b7d 100644
--- a/src/storage/storage_backend_disk.c
+++ b/src/storage/storage_backend_disk.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/storage/storage_backend_disk.h b/src/storage/storage_backend_disk.h
index e614ca278f..6b450e6352 100644
--- a/src/storage/storage_backend_disk.h
+++ b/src/storage/storage_backend_disk.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_STORAGE_BACKEND_DISK_H__
diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c
index 0837443391..0d6335b932 100644
--- a/src/storage/storage_backend_fs.c
+++ b/src/storage/storage_backend_fs.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/storage/storage_backend_fs.h b/src/storage/storage_backend_fs.h
index 8f381352c2..e942f057e2 100644
--- a/src/storage/storage_backend_fs.h
+++ b/src/storage/storage_backend_fs.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_STORAGE_BACKEND_FS_H__
diff --git a/src/storage/storage_backend_iscsi.c b/src/storage/storage_backend_iscsi.c
index fc21fbc5a2..4792bd70b8 100644
--- a/src/storage/storage_backend_iscsi.c
+++ b/src/storage/storage_backend_iscsi.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/storage/storage_backend_iscsi.h b/src/storage/storage_backend_iscsi.h
index 98d2b3ef27..e0935e6558 100644
--- a/src/storage/storage_backend_iscsi.h
+++ b/src/storage/storage_backend_iscsi.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_STORAGE_BACKEND_ISCSI_H__
diff --git a/src/storage/storage_backend_iscsi_direct.c b/src/storage/storage_backend_iscsi_direct.c
index 5c1b251a17..0babe26550 100644
--- a/src/storage/storage_backend_iscsi_direct.c
+++ b/src/storage/storage_backend_iscsi_direct.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Clementine Hayat <clem(a)lse.epita.fr>
*/
#include <config.h>
diff --git a/src/storage/storage_backend_logical.c b/src/storage/storage_backend_logical.c
index cad88756cb..9bdc7b64e1 100644
--- a/src/storage/storage_backend_logical.c
+++ b/src/storage/storage_backend_logical.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/storage/storage_backend_logical.h b/src/storage/storage_backend_logical.h
index c0f62cd185..6d0edd03b4 100644
--- a/src/storage/storage_backend_logical.h
+++ b/src/storage/storage_backend_logical.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_STORAGE_BACKEND_LOGICAL_H__
diff --git a/src/storage/storage_backend_mpath.c b/src/storage/storage_backend_mpath.c
index 9e81fff0b4..b3a49ee1b2 100644
--- a/src/storage/storage_backend_mpath.c
+++ b/src/storage/storage_backend_mpath.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Dave Allan <dallan(a)redhat.com>
*/
#include <config.h>
diff --git a/src/storage/storage_backend_mpath.h b/src/storage/storage_backend_mpath.h
index c14dcc3cf7..dfd3225217 100644
--- a/src/storage/storage_backend_mpath.h
+++ b/src/storage/storage_backend_mpath.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Dave Allan <dallan(a)redhat.com>
*/
#ifndef __VIR_STORAGE_BACKEND_MPATH_H__
diff --git a/src/storage/storage_backend_rbd.c b/src/storage/storage_backend_rbd.c
index 2cba678b72..24dd1349ae 100644
--- a/src/storage/storage_backend_rbd.c
+++ b/src/storage/storage_backend_rbd.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Wido den Hollander <wido(a)widodh.nl>
*/
#include <config.h>
diff --git a/src/storage/storage_backend_rbd.h b/src/storage/storage_backend_rbd.h
index 21a43fd51d..fb92ca3e10 100644
--- a/src/storage/storage_backend_rbd.h
+++ b/src/storage/storage_backend_rbd.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Wido den Hollander <wido(a)widodh.nl>
*/
#ifndef __VIR_STORAGE_BACKEND_RBD_H__
diff --git a/src/storage/storage_backend_scsi.c b/src/storage/storage_backend_scsi.c
index fe3a1e36ac..14f01f9ec0 100644
--- a/src/storage/storage_backend_scsi.c
+++ b/src/storage/storage_backend_scsi.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange redhat com>
*/
#include <config.h>
diff --git a/src/storage/storage_backend_scsi.h b/src/storage/storage_backend_scsi.h
index efd01658b6..af98fa502f 100644
--- a/src/storage/storage_backend_scsi.h
+++ b/src/storage/storage_backend_scsi.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange redhat com>
*/
#ifndef __VIR_STORAGE_BACKEND_SCSI_H__
diff --git a/src/storage/storage_backend_sheepdog.c b/src/storage/storage_backend_sheepdog.c
index 419334d9ac..484a587474 100644
--- a/src/storage/storage_backend_sheepdog.c
+++ b/src/storage/storage_backend_sheepdog.c
@@ -19,10 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Wido den Hollander <wido(a)widodh.nl>
- * Frank Spijkerman <frank.spijkerman(a)avira.com>
- * Sebastian Wiedenroth <sebastian.wiedenroth(a)skylime.net>
*/
#include <config.h>
diff --git a/src/storage/storage_backend_sheepdog.h b/src/storage/storage_backend_sheepdog.h
index e968323098..a023c07460 100644
--- a/src/storage/storage_backend_sheepdog.h
+++ b/src/storage/storage_backend_sheepdog.h
@@ -18,10 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Wido den Hollander <wido(a)widodh.nl>
- * Frank Spijkerman <frank.spijkerman(a)avira.com>
- * Sebastian Wiedenroth <sebastian.wiedenroth(a)skylime.net>
*/
#ifndef __VIR_STORAGE_BACKEND_SHEEPDOG_H__
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index 7c22c43584..4a13e90481 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/storage/storage_driver.h b/src/storage/storage_driver.h
index c284bf520f..b5f82dde2e 100644
--- a/src/storage/storage_driver.h
+++ b/src/storage/storage_driver.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_STORAGE_DRIVER_H__
diff --git a/src/storage/storage_file_fs.c b/src/storage/storage_file_fs.c
index 7e6a682c0f..3b6ed6e34d 100644
--- a/src/storage/storage_file_fs.c
+++ b/src/storage/storage_file_fs.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/storage/storage_file_fs.h b/src/storage/storage_file_fs.h
index f289d8856d..6b86f68b24 100644
--- a/src/storage/storage_file_fs.h
+++ b/src/storage/storage_file_fs.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_STORAGE_FILE_FS_H__
diff --git a/src/uml/uml_conf.c b/src/uml/uml_conf.c
index 5c979dd843..067600afba 100644
--- a/src/uml/uml_conf.c
+++ b/src/uml/uml_conf.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/uml/uml_conf.h b/src/uml/uml_conf.h
index 5da55e5f1a..e301715630 100644
--- a/src/uml/uml_conf.h
+++ b/src/uml/uml_conf.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __UML_CONF_H
diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c
index d1c71d8521..e790273717 100644
--- a/src/uml/uml_driver.c
+++ b/src/uml/uml_driver.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/uml/uml_driver.h b/src/uml/uml_driver.h
index cb989422d3..d31b3bda8f 100644
--- a/src/uml/uml_driver.h
+++ b/src/uml/uml_driver.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
diff --git a/src/util/iohelper.c b/src/util/iohelper.c
index 056f7bb3fc..1ff4a7b314 100644
--- a/src/util/iohelper.c
+++ b/src/util/iohelper.c
@@ -17,8 +17,6 @@
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
- *
* Current support
* - Read existing file
* - Write existing file
diff --git a/src/util/virarptable.c b/src/util/virarptable.c
index 3861409811..47ac1bb9ab 100644
--- a/src/util/virarptable.c
+++ b/src/util/virarptable.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Chen Hanxiao <chenhanxiao(a)gmail.com>
*/
#include <config.h>
diff --git a/src/util/virarptable.h b/src/util/virarptable.h
index 6829198128..783c6e7abc 100644
--- a/src/util/virarptable.h
+++ b/src/util/virarptable.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Chen Hanxiao <chenhanxiao(a)gmail.com>
*/
#ifndef __VIR_ARPTABLE_H__
diff --git a/src/util/virauthconfig.c b/src/util/virauthconfig.c
index 4acdf1db06..1de7e7ecb9 100644
--- a/src/util/virauthconfig.c
+++ b/src/util/virauthconfig.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virauthconfig.h b/src/util/virauthconfig.h
index d8a3849e73..d02051d1d9 100644
--- a/src/util/virauthconfig.h
+++ b/src/util/virauthconfig.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_AUTHCONFIG_H__
diff --git a/src/util/virbitmap.c b/src/util/virbitmap.c
index 3bbced01b0..d074f29e54 100644
--- a/src/util/virbitmap.c
+++ b/src/util/virbitmap.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jim Fehlig <jfehlig(a)novell.com>
*/
#include <config.h>
diff --git a/src/util/virbitmap.h b/src/util/virbitmap.h
index 312e7e2933..de16b43f63 100644
--- a/src/util/virbitmap.h
+++ b/src/util/virbitmap.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jim Fehlig <jfehlig(a)novell.com>
*/
#ifndef __BITMAP_H__
diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c
index e20df3ea05..3b41dfd99d 100644
--- a/src/util/vircgroup.c
+++ b/src/util/vircgroup.c
@@ -17,9 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Dan Smith <danms(a)us.ibm.com>
*/
#include <config.h>
diff --git a/src/util/vircgroup.h b/src/util/vircgroup.h
index 1f676f21c3..8309bf08d8 100644
--- a/src/util/vircgroup.h
+++ b/src/util/vircgroup.h
@@ -17,9 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Dan Smith <danms(a)us.ibm.com>
*/
#ifndef __VIR_CGROUP_H__
diff --git a/src/util/vircgrouppriv.h b/src/util/vircgrouppriv.h
index 8f24b0891e..3bede28bd2 100644
--- a/src/util/vircgrouppriv.h
+++ b/src/util/vircgrouppriv.h
@@ -17,9 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Dan Smith <danms(a)us.ibm.com>
*/
#ifndef __VIR_CGROUP_ALLOW_INCLUDE_PRIV_H__
diff --git a/src/util/virclosecallbacks.c b/src/util/virclosecallbacks.c
index 60070dc8d9..c88a94112e 100644
--- a/src/util/virclosecallbacks.c
+++ b/src/util/virclosecallbacks.c
@@ -16,10 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
- * Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virclosecallbacks.h b/src/util/virclosecallbacks.h
index 79ca635bd7..74ba7e19dd 100644
--- a/src/util/virclosecallbacks.h
+++ b/src/util/virclosecallbacks.h
@@ -16,10 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
- * Michal Privoznik <mprivozn(a)redhat.com>
*/
#ifndef __VIR_CLOSE_CALLBACKS__
diff --git a/src/util/virdevmapper.c b/src/util/virdevmapper.c
index 7da0dba911..9abd9ed3bf 100644
--- a/src/util/virdevmapper.c
+++ b/src/util/virdevmapper.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virdevmapper.h b/src/util/virdevmapper.h
index 34d6655e77..f15242b2b0 100644
--- a/src/util/virdevmapper.h
+++ b/src/util/virdevmapper.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn(a)redhat.com>
*/
#ifndef __VIR_DEVMAPPER_H__
diff --git a/src/util/virebtables.c b/src/util/virebtables.c
index 2ffff08b84..3fda362a13 100644
--- a/src/util/virebtables.c
+++ b/src/util/virebtables.c
@@ -17,10 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * based on iptables.c
- * Authors:
- * Gerhard Stenzel <gerhard.stenzel(a)de.ibm.com>
*/
#include <config.h>
diff --git a/src/util/virebtables.h b/src/util/virebtables.h
index 749d8f721d..baca746f89 100644
--- a/src/util/virebtables.h
+++ b/src/util/virebtables.h
@@ -17,10 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * based on iptables.h
- * Authors:
- * Gerhard Stenzel <gerhard.stenzel(a)de.ibm.com>
*/
#ifndef __QEMUD_EBTABLES_H__
diff --git a/src/util/virerror.c b/src/util/virerror.c
index 683e51aa19..736c92fd02 100644
--- a/src/util/virerror.c
+++ b/src/util/virerror.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel Veillard <veillard(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virevent.c b/src/util/virevent.c
index 2be3c343ef..3cac9f9472 100644
--- a/src/util/virevent.c
+++ b/src/util/virevent.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virevent.h b/src/util/virevent.h
index d8b440bded..e26871a2ac 100644
--- a/src/util/virevent.h
+++ b/src/util/virevent.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_EVENT_H__
diff --git a/src/util/vireventpoll.c b/src/util/vireventpoll.c
index 284b62307f..db01088769 100644
--- a/src/util/vireventpoll.c
+++ b/src/util/vireventpoll.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/vireventpoll.h b/src/util/vireventpoll.h
index e78e2730a1..720e72db8d 100644
--- a/src/util/vireventpoll.h
+++ b/src/util/vireventpoll.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_EVENT_POLL_H__
diff --git a/src/util/virfcp.c b/src/util/virfcp.c
index b70374444f..3cb6811f78 100644
--- a/src/util/virfcp.c
+++ b/src/util/virfcp.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Bjoern Walk <bwalk(a)linux.vnet.ibm.com>
*/
#include <config.h>
diff --git a/src/util/virfcp.h b/src/util/virfcp.h
index 2bc05387af..3ca1eb1778 100644
--- a/src/util/virfcp.h
+++ b/src/util/virfcp.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Bjoern Walk <bwalk(a)linux.vnet.ibm.com>
*/
#ifndef __VIR_FCP_H__
diff --git a/src/util/virfirewall.c b/src/util/virfirewall.c
index c786d7671b..8218a400d6 100644
--- a/src/util/virfirewall.c
+++ b/src/util/virfirewall.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virfirewall.h b/src/util/virfirewall.h
index e024e88cc2..c955a2d07a 100644
--- a/src/util/virfirewall.h
+++ b/src/util/virfirewall.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_FIREWALL_H__
diff --git a/src/util/virfirewallpriv.h b/src/util/virfirewallpriv.h
index 130aaa1b73..ab90bf3713 100644
--- a/src/util/virfirewallpriv.h
+++ b/src/util/virfirewallpriv.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_FIREWALL_PRIV_H_ALLOW__
diff --git a/src/util/virfirmware.c b/src/util/virfirmware.c
index 86f8b684d6..f41e000447 100644
--- a/src/util/virfirmware.c
+++ b/src/util/virfirmware.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jim Fehlig <jfehlig(a)suse.com>
*/
#include <config.h>
diff --git a/src/util/virfirmware.h b/src/util/virfirmware.h
index 682a865ee9..0bff013337 100644
--- a/src/util/virfirmware.h
+++ b/src/util/virfirmware.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jim Fehlig <jfehlig(a)suse.com>
*/
#ifndef __VIR_FIRMWARE_H__
diff --git a/src/util/virgic.c b/src/util/virgic.c
index 6f26659ffd..e980509630 100644
--- a/src/util/virgic.c
+++ b/src/util/virgic.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Andrea Bolognani <abologna(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virgic.h b/src/util/virgic.h
index 2d77fdd459..0e6fc4f566 100644
--- a/src/util/virgic.h
+++ b/src/util/virgic.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Andrea Bolognani <abologna(a)redhat.com>
*/
#ifndef __VIR_GIC_H__
diff --git a/src/util/virhash.c b/src/util/virhash.c
index c20724169c..52722fc049 100644
--- a/src/util/virhash.c
+++ b/src/util/virhash.c
@@ -14,9 +14,6 @@
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
* MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
* CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
- *
- * Author: Bjorn Reese <bjorn.reese(a)systematic.dk>
- * Daniel Veillard <veillard(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virhash.h b/src/util/virhash.h
index 8137b4d27b..a201b8910d 100644
--- a/src/util/virhash.h
+++ b/src/util/virhash.h
@@ -5,9 +5,6 @@
*
* Copyright (C) 2005-2014 Red Hat, Inc.
* Copyright (C) 2000 Bjorn Reese and Daniel Veillard.
- *
- * Author: Bjorn Reese <bjorn.reese(a)systematic.dk>
- * Daniel Veillard <veillard(a)redhat.com>
*/
#ifndef __VIR_HASH_H__
diff --git a/src/util/virhook.c b/src/util/virhook.c
index 6f4a9be399..2b91603dcf 100644
--- a/src/util/virhook.c
+++ b/src/util/virhook.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel Veillard <veillard(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virhook.h b/src/util/virhook.h
index 00544c96f6..64ae8c0ada 100644
--- a/src/util/virhook.h
+++ b/src/util/virhook.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel Veillard <veillard(a)redhat.com>
*/
#ifndef __VIR_HOOKS_H__
diff --git a/src/util/virhostcpu.c b/src/util/virhostcpu.c
index 0fce47d970..7200bab16f 100644
--- a/src/util/virhostcpu.c
+++ b/src/util/virhostcpu.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virhostcpu.h b/src/util/virhostcpu.h
index f9f3359288..1d84dd72e5 100644
--- a/src/util/virhostcpu.h
+++ b/src/util/virhostcpu.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_HOSTCPU_H__
diff --git a/src/util/virhostdev.c b/src/util/virhostdev.c
index 1898f9eeb9..41d4e8d936 100644
--- a/src/util/virhostdev.c
+++ b/src/util/virhostdev.c
@@ -17,9 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
- * Author: Chunyan Liu <cyliu(a)suse.com>
*/
#include <config.h>
diff --git a/src/util/virhostdev.h b/src/util/virhostdev.h
index 8f77c00221..93d7ccd886 100644
--- a/src/util/virhostdev.h
+++ b/src/util/virhostdev.h
@@ -17,9 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
- * Author: Chunyan Liu <cyliu(a)suse.com>
*/
#ifndef __VIR_HOSTDEV_H__
diff --git a/src/util/virhostmem.c b/src/util/virhostmem.c
index 3edc037bb0..19cd282724 100644
--- a/src/util/virhostmem.c
+++ b/src/util/virhostmem.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virhostmem.h b/src/util/virhostmem.h
index 4008521432..0b713235b2 100644
--- a/src/util/virhostmem.h
+++ b/src/util/virhostmem.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_HOSTMEM_H__
diff --git a/src/util/virinitctl.c b/src/util/virinitctl.c
index c4b48d499d..0b06743151 100644
--- a/src/util/virinitctl.c
+++ b/src/util/virinitctl.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virinitctl.h b/src/util/virinitctl.h
index 75a9a50db0..b19742bf1e 100644
--- a/src/util/virinitctl.h
+++ b/src/util/virinitctl.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_INITCTL_H__
diff --git a/src/util/viriptables.c b/src/util/viriptables.c
index f379844d28..7f0955b82d 100644
--- a/src/util/viriptables.c
+++ b/src/util/viriptables.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Mark McLoughlin <markmc(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/viriptables.h b/src/util/viriptables.h
index 9ea25fc096..477ec23d62 100644
--- a/src/util/viriptables.h
+++ b/src/util/viriptables.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Mark McLoughlin <markmc(a)redhat.com>
*/
#ifndef __VIR_IPTABLES_H__
diff --git a/src/util/virkeyfile.c b/src/util/virkeyfile.c
index 1006a88837..201fabe8bf 100644
--- a/src/util/virkeyfile.c
+++ b/src/util/virkeyfile.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virkeyfile.h b/src/util/virkeyfile.h
index e6f5ba872d..457d50472a 100644
--- a/src/util/virkeyfile.h
+++ b/src/util/virkeyfile.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_KEYFILE_H__
diff --git a/src/util/virmacaddr.c b/src/util/virmacaddr.c
index db4fa86612..3235f26182 100644
--- a/src/util/virmacaddr.c
+++ b/src/util/virmacaddr.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virmacaddr.h b/src/util/virmacaddr.h
index 39dd51bd81..8369293e96 100644
--- a/src/util/virmacaddr.h
+++ b/src/util/virmacaddr.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_MACADDR_H__
diff --git a/src/util/virmacmap.c b/src/util/virmacmap.c
index c7b700fa05..9b25683963 100644
--- a/src/util/virmacmap.c
+++ b/src/util/virmacmap.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virmacmap.h b/src/util/virmacmap.h
index e6f754e247..dab7a9f4cb 100644
--- a/src/util/virmacmap.h
+++ b/src/util/virmacmap.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn(a)redhat.com>
*/
#ifndef __VIR_MACMAP_H__
diff --git a/src/util/virnetdev.c b/src/util/virnetdev.c
index 5867977df4..2111b3ada9 100644
--- a/src/util/virnetdev.c
+++ b/src/util/virnetdev.c
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Mark McLoughlin <markmc(a)redhat.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virnetdev.h b/src/util/virnetdev.h
index 8860ea12f1..76f53a6470 100644
--- a/src/util/virnetdev.h
+++ b/src/util/virnetdev.h
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Mark McLoughlin <markmc(a)redhat.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NETDEV_H__
diff --git a/src/util/virnetdevbandwidth.c b/src/util/virnetdevbandwidth.c
index 6f88399a76..b90bd55d32 100644
--- a/src/util/virnetdevbandwidth.c
+++ b/src/util/virnetdevbandwidth.c
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn(a)redhat.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virnetdevbandwidth.h b/src/util/virnetdevbandwidth.h
index 63ac608970..8e786eff9e 100644
--- a/src/util/virnetdevbandwidth.h
+++ b/src/util/virnetdevbandwidth.h
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn(a)redhat.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NETDEV_BANDWIDTH_H__
diff --git a/src/util/virnetdevbridge.c b/src/util/virnetdevbridge.c
index fc6389d0c7..8d2d8bfc86 100644
--- a/src/util/virnetdevbridge.c
+++ b/src/util/virnetdevbridge.c
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Mark McLoughlin <markmc(a)redhat.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virnetdevbridge.h b/src/util/virnetdevbridge.h
index 141f231c90..b2967f1d42 100644
--- a/src/util/virnetdevbridge.h
+++ b/src/util/virnetdevbridge.h
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Mark McLoughlin <markmc(a)redhat.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NETDEV_BRIDGE_H__
diff --git a/src/util/virnetdevip.c b/src/util/virnetdevip.c
index 295ba86265..9d308e440a 100644
--- a/src/util/virnetdevip.c
+++ b/src/util/virnetdevip.c
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Mark McLoughlin <markmc(a)redhat.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virnetdevip.h b/src/util/virnetdevip.h
index 5608c37143..8ef85f58c4 100644
--- a/src/util/virnetdevip.h
+++ b/src/util/virnetdevip.h
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Mark McLoughlin <markmc(a)redhat.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NETDEVIP_H__
diff --git a/src/util/virnetdevmacvlan.c b/src/util/virnetdevmacvlan.c
index fa2fa6dadf..e9fea2d78a 100644
--- a/src/util/virnetdevmacvlan.c
+++ b/src/util/virnetdevmacvlan.c
@@ -16,9 +16,6 @@
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
- * Authors:
- * Stefan Berger <stefanb(a)us.ibm.com>
- *
* Notes:
* netlink: http://lovezutto.googlepages.com/netlink.pdf
* iproute2 package
diff --git a/src/util/virnetdevmacvlan.h b/src/util/virnetdevmacvlan.h
index a7c4b6d9cf..a31401563c 100644
--- a/src/util/virnetdevmacvlan.h
+++ b/src/util/virnetdevmacvlan.h
@@ -15,9 +15,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Stefan Berger <stefanb(a)us.ibm.com>
*/
#ifndef __UTIL_MACVTAP_H__
diff --git a/src/util/virnetdevmidonet.c b/src/util/virnetdevmidonet.c
index ea31d0371f..e50cceaef5 100644
--- a/src/util/virnetdevmidonet.c
+++ b/src/util/virnetdevmidonet.c
@@ -14,9 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Antoni Segura Puimedon <toni(a)midokura.com>
*/
#include <config.h>
diff --git a/src/util/virnetdevmidonet.h b/src/util/virnetdevmidonet.h
index 3bfc1f6e67..7c44c045bd 100644
--- a/src/util/virnetdevmidonet.h
+++ b/src/util/virnetdevmidonet.h
@@ -14,9 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Antoni Segura Puimedon <toni(a)midokura.com>
*/
#ifndef __VIR_NETDEV_MIDONET_H__
diff --git a/src/util/virnetdevopenvswitch.c b/src/util/virnetdevopenvswitch.c
index ee0db4e9b2..4fa3a5742a 100644
--- a/src/util/virnetdevopenvswitch.c
+++ b/src/util/virnetdevopenvswitch.c
@@ -16,12 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Dan Wendlandt <dan(a)nicira.com>
- * Kyle Mestery <kmestery(a)cisco.com>
- * Ansis Atteka <aatteka(a)nicira.com>
- * Boris Fiuczynski <fiuczy(a)linux.vnet.ibm.com>
*/
#include <config.h>
diff --git a/src/util/virnetdevopenvswitch.h b/src/util/virnetdevopenvswitch.h
index 331e483018..edb61baa76 100644
--- a/src/util/virnetdevopenvswitch.h
+++ b/src/util/virnetdevopenvswitch.h
@@ -16,12 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Dan Wendlandt <dan(a)nicira.com>
- * Kyle Mestery <kmestery(a)cisco.com>
- * Ansis Atteka <aatteka(a)nicira.com>
- * Boris Fiuczynski <fiuczy(a)linux.vnet.ibm.com>
*/
#ifndef __VIR_NETDEV_OPENVSWITCH_H__
diff --git a/src/util/virnetdevtap.c b/src/util/virnetdevtap.c
index c4d843e8ff..972f3405aa 100644
--- a/src/util/virnetdevtap.c
+++ b/src/util/virnetdevtap.c
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Mark McLoughlin <markmc(a)redhat.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virnetdevtap.h b/src/util/virnetdevtap.h
index 37f9367ff4..b4e73f28e7 100644
--- a/src/util/virnetdevtap.h
+++ b/src/util/virnetdevtap.h
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Mark McLoughlin <markmc(a)redhat.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NETDEV_TAP_H__
diff --git a/src/util/virnetdevveth.c b/src/util/virnetdevveth.c
index a651bb5445..431dc0bff5 100644
--- a/src/util/virnetdevveth.c
+++ b/src/util/virnetdevveth.c
@@ -15,10 +15,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * David L. Leskovec <dlesko at linux.vnet.ibm.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virnetdevveth.h b/src/util/virnetdevveth.h
index 4c220c1b02..9e5d6adb15 100644
--- a/src/util/virnetdevveth.h
+++ b/src/util/virnetdevveth.h
@@ -15,10 +15,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * David L. Leskovec <dlesko at linux.vnet.ibm.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NETDEV_VETH_H__
diff --git a/src/util/virnetdevvlan.c b/src/util/virnetdevvlan.c
index 0afc47b6e6..e5d65f4dba 100644
--- a/src/util/virnetdevvlan.c
+++ b/src/util/virnetdevvlan.c
@@ -14,9 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Laine Stump <laine(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virnetdevvlan.h b/src/util/virnetdevvlan.h
index be85f59897..ca2793ae34 100644
--- a/src/util/virnetdevvlan.h
+++ b/src/util/virnetdevvlan.h
@@ -14,9 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Laine Stump <laine(a)redhat.com>
*/
#ifndef __VIR_NETDEV_VLAN_H__
# define __VIR_NETDEV_VLAN_H__
diff --git a/src/util/virnetdevvportprofile.c b/src/util/virnetdevvportprofile.c
index c385505976..09c212bc4d 100644
--- a/src/util/virnetdevvportprofile.c
+++ b/src/util/virnetdevvportprofile.c
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Stefan Berger <stefanb(a)us.ibm.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virnetdevvportprofile.h b/src/util/virnetdevvportprofile.h
index fdb6573fd4..2c6f858415 100644
--- a/src/util/virnetdevvportprofile.h
+++ b/src/util/virnetdevvportprofile.h
@@ -14,10 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Stefan Berger <stefanb(a)us.ibm.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_NETDEV_VPORT_PROFILE_H__
diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c
index 148f13d578..62066a33d2 100644
--- a/src/util/virnetlink.c
+++ b/src/util/virnetlink.c
@@ -16,16 +16,9 @@
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
- * Authors:
- * Stefan Berger <stefanb(a)us.ibm.com>
- * Dirk Herrendoerfer <herrend[at]de[dot]ibm[dot]com>
- *
* Notes:
* netlink: http://lovezutto.googlepages.com/netlink.pdf
* iproute2 package
- *
- * 2012/02: Renamed from netlink.[ch] to virnetlink.[ch]
- *
*/
#include <config.h>
diff --git a/src/util/virpci.c b/src/util/virpci.c
index 66aae60baa..537876bcba 100644
--- a/src/util/virpci.c
+++ b/src/util/virpci.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Mark McLoughlin <markmc(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virpci.h b/src/util/virpci.h
index a2e795eff9..293eaa9b0a 100644
--- a/src/util/virpci.h
+++ b/src/util/virpci.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Mark McLoughlin <markmc(a)redhat.com>
*/
#ifndef __VIR_PCI_H__
diff --git a/src/util/virperf.c b/src/util/virperf.c
index fe51681553..7e5bfc6c78 100644
--- a/src/util/virperf.c
+++ b/src/util/virperf.c
@@ -14,9 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Ren Qiaowei <qiaowei.ren(a)intel.com>
*/
#include <config.h>
diff --git a/src/util/virperf.h b/src/util/virperf.h
index 9d0d5acec7..e926f91e0b 100644
--- a/src/util/virperf.h
+++ b/src/util/virperf.h
@@ -14,9 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Ren Qiaowei <qiaowei.ren(a)intel.com>
*/
#ifndef __VIR_PERF_H__
diff --git a/src/util/virrandom.c b/src/util/virrandom.c
index 6ac8ae6153..e0c15a3262 100644
--- a/src/util/virrandom.c
+++ b/src/util/virrandom.c
@@ -14,9 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virrandom.h b/src/util/virrandom.h
index 7a984ee7b0..8d1257906d 100644
--- a/src/util/virrandom.h
+++ b/src/util/virrandom.h
@@ -14,9 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_RANDOM_H__
diff --git a/src/util/virscsi.c b/src/util/virscsi.c
index e731e59cfe..32d249ad5c 100644
--- a/src/util/virscsi.c
+++ b/src/util/virscsi.c
@@ -17,10 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Han Cheng <hanc.fnst(a)cn.fujitsu.com>
- * Osier Yang <jyang(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virscsi.h b/src/util/virscsi.h
index b96d8629b8..3cb50cb168 100644
--- a/src/util/virscsi.h
+++ b/src/util/virscsi.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Han Cheng <hanc.fnst(a)cn.fujitsu.com>
*/
#ifndef __VIR_SCSI_H__
diff --git a/src/util/virscsivhost.c b/src/util/virscsivhost.c
index ab17b1e831..ce44079357 100644
--- a/src/util/virscsivhost.c
+++ b/src/util/virscsivhost.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Eric Farman <farman(a)linux.vnet.ibm.com>
*/
#include <config.h>
diff --git a/src/util/virscsivhost.h b/src/util/virscsivhost.h
index 31ad429982..7123de8bc8 100644
--- a/src/util/virscsivhost.h
+++ b/src/util/virscsivhost.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Eric Farman <farman(a)linux.vnet.ibm.com>
*/
#ifndef __VIR_SCSIHOST_H__
diff --git a/src/util/virsocketaddr.c b/src/util/virsocketaddr.c
index 6f7da53949..4bc14bbd15 100644
--- a/src/util/virsocketaddr.c
+++ b/src/util/virsocketaddr.c
@@ -14,11 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel Veillard <veillard(a)redhat.com>
- * Laine Stump <laine(a)laine.org>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virsocketaddr.h b/src/util/virsocketaddr.h
index 66f599869c..cfc79cf2ce 100644
--- a/src/util/virsocketaddr.h
+++ b/src/util/virsocketaddr.h
@@ -14,11 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel Veillard <veillard(a)redhat.com>
- * Laine Stump <laine(a)laine.org>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_SOCKETADDR_H__
diff --git a/src/util/virstorageencryption.c b/src/util/virstorageencryption.c
index 80962edee0..29bbdedccd 100644
--- a/src/util/virstorageencryption.c
+++ b/src/util/virstorageencryption.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Red Hat Author: Miloslav Trmač <mitr(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virstorageencryption.h b/src/util/virstorageencryption.h
index 1c0a39c32e..1134b0fe9d 100644
--- a/src/util/virstorageencryption.h
+++ b/src/util/virstorageencryption.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Red Hat Author: Miloslav Trmač <mitr(a)redhat.com>
*/
#ifndef __VIR_STORAGE_ENCRYPTION_H__
diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
index 94c32d818e..bd4b0274df 100644
--- a/src/util/virstoragefile.c
+++ b/src/util/virstoragefile.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virstoragefile.h b/src/util/virstoragefile.h
index a158383210..f283e3cb08 100644
--- a/src/util/virstoragefile.h
+++ b/src/util/virstoragefile.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_STORAGE_FILE_H__
diff --git a/src/util/virstoragefilebackend.c b/src/util/virstoragefilebackend.c
index 7086747029..72cf3d1d16 100644
--- a/src/util/virstoragefilebackend.c
+++ b/src/util/virstoragefilebackend.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virstring.c b/src/util/virstring.c
index 2207c9f9df..e890dde546 100644
--- a/src/util/virstring.c
+++ b/src/util/virstring.c
@@ -14,9 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virstring.h b/src/util/virstring.h
index a2133ab7ce..ee53ff2f5e 100644
--- a/src/util/virstring.h
+++ b/src/util/virstring.h
@@ -14,9 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_STRING_H__
diff --git a/src/util/virsysinfo.c b/src/util/virsysinfo.c
index a18098fca6..b6785066f1 100644
--- a/src/util/virsysinfo.c
+++ b/src/util/virsysinfo.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel Veillard <veillard(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virsysinfo.h b/src/util/virsysinfo.h
index 00a15dbf0d..33541701f9 100644
--- a/src/util/virsysinfo.h
+++ b/src/util/virsysinfo.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel Veillard <veillard(a)redhat.com>
*/
#ifndef __VIR_SYSINFOS_H__
diff --git a/src/util/virthreadjob.c b/src/util/virthreadjob.c
index 2f483f9d26..8f87ae6039 100644
--- a/src/util/virthreadjob.c
+++ b/src/util/virthreadjob.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jiri Denemark <jdenemar(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virthreadjob.h b/src/util/virthreadjob.h
index 659f91db43..0c62ee6723 100644
--- a/src/util/virthreadjob.h
+++ b/src/util/virthreadjob.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jiri Denemark <jdenemar(a)redhat.com>
*/
#ifndef __VIR_THREAD_JOB_H__
diff --git a/src/util/virthreadpool.c b/src/util/virthreadpool.c
index 4635170141..ff5f34a946 100644
--- a/src/util/virthreadpool.c
+++ b/src/util/virthreadpool.c
@@ -18,10 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Hu Tao <hutao(a)cn.fujitsu.com>
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virthreadpool.h b/src/util/virthreadpool.h
index e1f362f5bb..26fb4b739c 100644
--- a/src/util/virthreadpool.h
+++ b/src/util/virthreadpool.h
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author:
* Hu Tao <hutao(a)cn.fujitsu.com>
* Daniel P. Berrange <berrange(a)redhat.com>
*/
diff --git a/src/util/virtime.c b/src/util/virtime.c
index 44ec127401..d1187726ee 100644
--- a/src/util/virtime.c
+++ b/src/util/virtime.c
@@ -17,8 +17,6 @@
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
- *
* The intent is that this file provides a set of time APIs which
* are async signal safe, to allow use in between fork/exec eg by
* the logging code.
diff --git a/src/util/virtime.h b/src/util/virtime.h
index fbcd3ba667..dec7238912 100644
--- a/src/util/virtime.h
+++ b/src/util/virtime.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_TIME_H__
diff --git a/src/util/virtpm.c b/src/util/virtpm.c
index d5c10da382..583b9a64a4 100644
--- a/src/util/virtpm.c
+++ b/src/util/virtpm.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)linux.vnet.ibm.com>
*/
#include <config.h>
diff --git a/src/util/virtpm.h b/src/util/virtpm.h
index b21fc0532f..2ceb4a6af6 100644
--- a/src/util/virtpm.h
+++ b/src/util/virtpm.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Stefan Berger <stefanb(a)linux.vnet.ibm.com>
*/
#ifndef __VIR_TPM_H__
# define __VIR_TPM_H__
diff --git a/src/util/virusb.c b/src/util/virusb.c
index 45f635baaf..263712c323 100644
--- a/src/util/virusb.c
+++ b/src/util/virusb.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/virusb.h b/src/util/virusb.h
index afaaf953db..5953127748 100644
--- a/src/util/virusb.h
+++ b/src/util/virusb.h
@@ -16,10 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel P. Berrange <berrange(a)redhat.com>
- * Michal Privoznik <mprivozn(a)redhat.com>
*/
#ifndef __VIR_USB_H__
diff --git a/src/util/virutil.c b/src/util/virutil.c
index 279e6aedc0..5251b66454 100644
--- a/src/util/virutil.c
+++ b/src/util/virutil.c
@@ -19,9 +19,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
- * File created Jul 18, 2007 - Shuveb Hussain <shuveb(a)binarykarma.com>
*/
#include <config.h>
diff --git a/src/util/virutil.h b/src/util/virutil.h
index 588d779d10..a02a03f034 100644
--- a/src/util/virutil.h
+++ b/src/util/virutil.h
@@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * File created Jul 18, 2007 - Shuveb Hussain <shuveb(a)binarykarma.com>
*/
#ifndef __VIR_UTIL_H__
diff --git a/src/util/viruuid.c b/src/util/viruuid.c
index ff44e8efb7..0c12ddcc3e 100644
--- a/src/util/viruuid.c
+++ b/src/util/viruuid.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Mark McLoughlin <markmc(a)redhat.com>
*/
#include <config.h>
diff --git a/src/util/viruuid.h b/src/util/viruuid.h
index 40fabf41d6..d5a334b0ce 100644
--- a/src/util/viruuid.h
+++ b/src/util/viruuid.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Mark McLoughlin <markmc(a)redhat.com>
*/
#ifndef __VIR_UUID_H__
diff --git a/src/xenapi/xenapi_driver.c b/src/xenapi/xenapi_driver.c
index 556382577c..672117822f 100644
--- a/src/xenapi/xenapi_driver.c
+++ b/src/xenapi/xenapi_driver.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Sharadha Prabhakar <sharadha.prabhakar(a)citrix.com>
*/
#include <config.h>
diff --git a/src/xenapi/xenapi_driver.h b/src/xenapi/xenapi_driver.h
index 10519974bb..7a59c87587 100644
--- a/src/xenapi/xenapi_driver.h
+++ b/src/xenapi/xenapi_driver.h
@@ -15,8 +15,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Sharadha Prabhakar <sharadha.prabhakar(a)citrix.com>
*/
diff --git a/src/xenapi/xenapi_driver_private.h b/src/xenapi/xenapi_driver_private.h
index b1d00e673b..fb6d1a40be 100644
--- a/src/xenapi/xenapi_driver_private.h
+++ b/src/xenapi/xenapi_driver_private.h
@@ -15,8 +15,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Sharadha Prabhakar <sharadha.prabhakar(a)citrix.com>
*/
diff --git a/src/xenapi/xenapi_utils.c b/src/xenapi/xenapi_utils.c
index 723f348b64..4791f06945 100644
--- a/src/xenapi/xenapi_utils.c
+++ b/src/xenapi/xenapi_utils.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Sharadha Prabhakar <sharadha.prabhakar(a)citrix.com>
*/
#include <config.h>
diff --git a/src/xenapi/xenapi_utils.h b/src/xenapi/xenapi_utils.h
index 72c42d11ea..ae33e8fedb 100644
--- a/src/xenapi/xenapi_utils.h
+++ b/src/xenapi/xenapi_utils.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Sharadha Prabhakar <sharadha.prabhakar(a)citrix.com>
*/
#ifndef __VIR_XENAPI_UTILS__
diff --git a/src/xenconfig/xen_common.c b/src/xenconfig/xen_common.c
index 60c8d7edc8..94e0703cf3 100644
--- a/src/xenconfig/xen_common.c
+++ b/src/xenconfig/xen_common.c
@@ -20,10 +20,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
- * Author: Markus Groß <gross(a)univention.de>
- * Author: Jim Fehlig <jfehlig(a)suse.com>
*/
#include <config.h>
diff --git a/src/xenconfig/xen_common.h b/src/xenconfig/xen_common.h
index a26c9e60c4..369bba26d8 100644
--- a/src/xenconfig/xen_common.h
+++ b/src/xenconfig/xen_common.h
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jim Fehlig <jfehlig(a)suse.com>
*/
#ifndef __VIR_XEN_COMMON_H__
diff --git a/src/xenconfig/xen_sxpr.c b/src/xenconfig/xen_sxpr.c
index fbdd5ea982..11af3e747a 100644
--- a/src/xenconfig/xen_sxpr.c
+++ b/src/xenconfig/xen_sxpr.c
@@ -18,10 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Anthony Liguori <aliguori(a)us.ibm.com>
- * Author: Daniel Veillard <veillard(a)redhat.com>
- * Author: Markus Groß <gross(a)univention.de>
*/
#include <config.h>
diff --git a/src/xenconfig/xen_sxpr.h b/src/xenconfig/xen_sxpr.h
index cb8c89ef9a..342ccab6f5 100644
--- a/src/xenconfig/xen_sxpr.h
+++ b/src/xenconfig/xen_sxpr.h
@@ -18,10 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Anthony Liguori <aliguori(a)us.ibm.com>
- * Author: Daniel Veillard <veillard(a)redhat.com>
- * Author: Markus Groß <gross(a)univention.de>
*/
#ifndef __VIR_XEN_SXPR_H__
diff --git a/src/xenconfig/xen_xl.c b/src/xenconfig/xen_xl.c
index 70059df667..accfc3a2d2 100644
--- a/src/xenconfig/xen_xl.c
+++ b/src/xenconfig/xen_xl.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jim Fehlig <jfehlig(a)suse.com>
*/
#include <config.h>
diff --git a/src/xenconfig/xen_xm.c b/src/xenconfig/xen_xm.c
index 909e8fad40..b8dee0917e 100644
--- a/src/xenconfig/xen_xm.c
+++ b/src/xenconfig/xen_xm.c
@@ -18,9 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
- * Author: Markus Groß <gross(a)univention.de>
*/
#include <config.h>
diff --git a/src/xenconfig/xen_xm.h b/src/xenconfig/xen_xm.h
index db3e3456ec..c0699c673d 100644
--- a/src/xenconfig/xen_xm.h
+++ b/src/xenconfig/xen_xm.h
@@ -18,9 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
- * Author: Markus Groß <gross(a)univention.de>
*/
#ifndef __VIR_XEN_XM_H__
diff --git a/src/xenconfig/xenxs_private.h b/src/xenconfig/xenxs_private.h
index 71e8a1a5c2..e2250dbd6a 100644
--- a/src/xenconfig/xenxs_private.h
+++ b/src/xenconfig/xenxs_private.h
@@ -17,9 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Richard W.M. Jones <rjones(a)redhat.com>
- * Author: Markus Groß <gross(a)univention.de>
*/
#ifndef __VIR_XENXS_PRIVATE_H__
diff --git a/tests/cputest.c b/tests/cputest.c
index 339119c63f..64d85f34db 100644
--- a/tests/cputest.c
+++ b/tests/cputest.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jiri Denemark <jdenemar(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c
index 7df1739d81..ea4e57d118 100644
--- a/tests/domaincapstest.c
+++ b/tests/domaincapstest.c
@@ -14,9 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/domainconftest.c b/tests/domainconftest.c
index 42f6e28beb..e7bdc99438 100644
--- a/tests/domainconftest.c
+++ b/tests/domainconftest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/eventtest.c b/tests/eventtest.c
index e3ad1e8784..df7570bac6 100644
--- a/tests/eventtest.c
+++ b/tests/eventtest.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/fdstreamtest.c b/tests/fdstreamtest.c
index 3c4fcdefaf..054c405cec 100644
--- a/tests/fdstreamtest.c
+++ b/tests/fdstreamtest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/libxlxml2domconfigtest.c b/tests/libxlxml2domconfigtest.c
index 969d84e11e..de6e86ec66 100644
--- a/tests/libxlxml2domconfigtest.c
+++ b/tests/libxlxml2domconfigtest.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jim Fehlig <jfehlig(a)suse.com>
*/
#include <config.h>
diff --git a/tests/metadatatest.c b/tests/metadatatest.c
index b17a85c883..786c62e623 100644
--- a/tests/metadatatest.c
+++ b/tests/metadatatest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Peter Krempa <pkrempa(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/nsslinktest.c b/tests/nsslinktest.c
index a81a6d331a..5d7d36da9e 100644
--- a/tests/nsslinktest.c
+++ b/tests/nsslinktest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/nssmock.c b/tests/nssmock.c
index fc8e6b22f0..230044275a 100644
--- a/tests/nssmock.c
+++ b/tests/nssmock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/nsstest.c b/tests/nsstest.c
index fe0a16c3c4..d43c59c4a2 100644
--- a/tests/nsstest.c
+++ b/tests/nsstest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/objecteventtest.c b/tests/objecteventtest.c
index e6de11ec39..9ba082d353 100644
--- a/tests/objecteventtest.c
+++ b/tests/objecteventtest.c
@@ -15,8 +15,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Cedric Bosdonnat <cbosdonnat(a)suse.com>
*/
#include <config.h>
diff --git a/tests/objectlocking.ml b/tests/objectlocking.ml
index fd83d6d60c..778e67cffd 100644
--- a/tests/objectlocking.ml
+++ b/tests/objectlocking.ml
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*)
open Pretty
diff --git a/tests/qemucaps2xmlmock.c b/tests/qemucaps2xmlmock.c
index bd6c356abd..413adfb5ab 100644
--- a/tests/qemucaps2xmlmock.c
+++ b/tests/qemucaps2xmlmock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Pavel Hrdina <phrdina(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/qemucaps2xmltest.c b/tests/qemucaps2xmltest.c
index ead4543699..dd9fc6917a 100644
--- a/tests/qemucaps2xmltest.c
+++ b/tests/qemucaps2xmltest.c
@@ -14,9 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Francesco Romani <fromani(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/qemucapsprobe.c b/tests/qemucapsprobe.c
index 54084218b7..708c245561 100644
--- a/tests/qemucapsprobe.c
+++ b/tests/qemucapsprobe.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jiri Denemark <jdenemar(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/qemucapsprobemock.c b/tests/qemucapsprobemock.c
index 0e8008e08d..f3f17f2116 100644
--- a/tests/qemucapsprobemock.c
+++ b/tests/qemucapsprobemock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jiri Denemark <jdenemar(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/qemuxml2argvmock.c b/tests/qemuxml2argvmock.c
index a64cd955c4..b300793732 100644
--- a/tests/qemuxml2argvmock.c
+++ b/tests/qemuxml2argvmock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/ssh.c b/tests/ssh.c
index 4a75a5d568..58148fef77 100644
--- a/tests/ssh.c
+++ b/tests/ssh.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/storagebackendsheepdogtest.c b/tests/storagebackendsheepdogtest.c
index 1d64096130..a0bbad3990 100644
--- a/tests/storagebackendsheepdogtest.c
+++ b/tests/storagebackendsheepdogtest.c
@@ -17,8 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Sebastian Wiedenroth <sebastian.wiedenroth(a)skylime.net>
*/
#include <config.h>
diff --git a/tests/sysinfotest.c b/tests/sysinfotest.c
index 2c1c450a78..62cf5878ff 100644
--- a/tests/sysinfotest.c
+++ b/tests/sysinfotest.c
@@ -17,9 +17,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Viktor Mihajlovski <mihajlov(a)linux.vnet.ibm.com>
*/
#include <config.h>
diff --git a/tests/virauthconfigtest.c b/tests/virauthconfigtest.c
index 8cfd68dff3..42e62cd874 100644
--- a/tests/virauthconfigtest.c
+++ b/tests/virauthconfigtest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/vircaps2xmltest.c b/tests/vircaps2xmltest.c
index 96e5a07555..fc112db0bc 100644
--- a/tests/vircaps2xmltest.c
+++ b/tests/vircaps2xmltest.c
@@ -14,9 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/vircgroupmock.c b/tests/vircgroupmock.c
index b0911d4df2..06bd0a5f29 100644
--- a/tests/vircgroupmock.c
+++ b/tests/vircgroupmock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/vircgrouptest.c b/tests/vircgrouptest.c
index ea352c1530..5eda6fe725 100644
--- a/tests/vircgrouptest.c
+++ b/tests/vircgrouptest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virdbusmock.c b/tests/virdbusmock.c
index a62689e91d..0673f7292a 100644
--- a/tests/virdbusmock.c
+++ b/tests/virdbusmock.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virdbustest.c b/tests/virdbustest.c
index c900d17b79..3afea6c248 100644
--- a/tests/virdbustest.c
+++ b/tests/virdbustest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virdeterministichashmock.c b/tests/virdeterministichashmock.c
index cd80cfcb52..3237f56a6c 100644
--- a/tests/virdeterministichashmock.c
+++ b/tests/virdeterministichashmock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virdrivermoduletest.c b/tests/virdrivermoduletest.c
index 125183327b..7e9dced87e 100644
--- a/tests/virdrivermoduletest.c
+++ b/tests/virdrivermoduletest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virfilemock.c b/tests/virfilemock.c
index ae5c8d025a..fb6bd5e699 100644
--- a/tests/virfilemock.c
+++ b/tests/virfilemock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virfiletest.c b/tests/virfiletest.c
index f7b263f2e9..b1cb831bfd 100644
--- a/tests/virfiletest.c
+++ b/tests/virfiletest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virfirewalltest.c b/tests/virfirewalltest.c
index dda736cae5..39aaa3bda7 100644
--- a/tests/virfirewalltest.c
+++ b/tests/virfirewalltest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virhostdevtest.c b/tests/virhostdevtest.c
index bc73362a6b..4e067b10d1 100644
--- a/tests/virhostdevtest.c
+++ b/tests/virhostdevtest.c
@@ -15,8 +15,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Chunyan Liu <cyliu(a)suse.com>
*/
#include <config.h>
diff --git a/tests/viridentitytest.c b/tests/viridentitytest.c
index e390512147..b60d944d8e 100644
--- a/tests/viridentitytest.c
+++ b/tests/viridentitytest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/viriscsitest.c b/tests/viriscsitest.c
index 4fd7ff6e19..32b8a17b90 100644
--- a/tests/viriscsitest.c
+++ b/tests/viriscsitest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jan Tomko <jtomko(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virkeycodetest.c b/tests/virkeycodetest.c
index 8d541dcba3..e134ccfe1c 100644
--- a/tests/virkeycodetest.c
+++ b/tests/virkeycodetest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virkeyfiletest.c b/tests/virkeyfiletest.c
index 196c022b1c..4276149163 100644
--- a/tests/virkeyfiletest.c
+++ b/tests/virkeyfiletest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virlockspacetest.c b/tests/virlockspacetest.c
index 93353be285..991e587db6 100644
--- a/tests/virlockspacetest.c
+++ b/tests/virlockspacetest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virmacmaptest.c b/tests/virmacmaptest.c
index 6e3e9984d1..884dabab82 100644
--- a/tests/virmacmaptest.c
+++ b/tests/virmacmaptest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virmocklibxl.c b/tests/virmocklibxl.c
index 546c6d6a43..7664f007ac 100644
--- a/tests/virmocklibxl.c
+++ b/tests/virmocklibxl.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virnetdaemonmock.c b/tests/virnetdaemonmock.c
index 6d807a5a91..3b92fff8c9 100644
--- a/tests/virnetdaemonmock.c
+++ b/tests/virnetdaemonmock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Erik Skultety <eskultet(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virnetdaemontest.c b/tests/virnetdaemontest.c
index 6f4957fc4c..3e9b007d9b 100644
--- a/tests/virnetdaemontest.c
+++ b/tests/virnetdaemontest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virnetdevbandwidthmock.c b/tests/virnetdevbandwidthmock.c
index 45eaa6e498..cb48933447 100644
--- a/tests/virnetdevbandwidthmock.c
+++ b/tests/virnetdevbandwidthmock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Erik Skultety <eskultet(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virnetdevbandwidthtest.c b/tests/virnetdevbandwidthtest.c
index 72bfeff979..68e7595689 100644
--- a/tests/virnetdevbandwidthtest.c
+++ b/tests/virnetdevbandwidthtest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virnetdevmock.c b/tests/virnetdevmock.c
index b005f1644c..9724a1bc1f 100644
--- a/tests/virnetdevmock.c
+++ b/tests/virnetdevmock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virnetdevtest.c b/tests/virnetdevtest.c
index 93152e89d3..24fb4d35e0 100644
--- a/tests/virnetdevtest.c
+++ b/tests/virnetdevtest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virnetmessagetest.c b/tests/virnetmessagetest.c
index eb6fc4c407..2d81441626 100644
--- a/tests/virnetmessagetest.c
+++ b/tests/virnetmessagetest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virnetserverclientmock.c b/tests/virnetserverclientmock.c
index caef1e3ce0..23418de911 100644
--- a/tests/virnetserverclientmock.c
+++ b/tests/virnetserverclientmock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virnetserverclienttest.c b/tests/virnetserverclienttest.c
index 3f801902ca..cb5071b2d9 100644
--- a/tests/virnetserverclienttest.c
+++ b/tests/virnetserverclienttest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virnetsockettest.c b/tests/virnetsockettest.c
index e3266d9767..9c14989287 100644
--- a/tests/virnetsockettest.c
+++ b/tests/virnetsockettest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virnettlscontexttest.c b/tests/virnettlscontexttest.c
index 49b33e354a..07910c2749 100644
--- a/tests/virnettlscontexttest.c
+++ b/tests/virnettlscontexttest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virnettlshelpers.c b/tests/virnettlshelpers.c
index 36c29cf9c0..a6aacf4cc3 100644
--- a/tests/virnettlshelpers.c
+++ b/tests/virnettlshelpers.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virnettlshelpers.h b/tests/virnettlshelpers.h
index 48e743134e..ad72cd6ab8 100644
--- a/tests/virnettlshelpers.h
+++ b/tests/virnettlshelpers.h
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <gnutls/gnutls.h>
diff --git a/tests/virnettlssessiontest.c b/tests/virnettlssessiontest.c
index fb2efd7594..41abbe7eaf 100644
--- a/tests/virnettlssessiontest.c
+++ b/tests/virnettlssessiontest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virpcimock.c b/tests/virpcimock.c
index 9eb5eb3a1e..acde380c5d 100644
--- a/tests/virpcimock.c
+++ b/tests/virpcimock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virpcitest.c b/tests/virpcitest.c
index 384ff055e0..961a7eff1a 100644
--- a/tests/virpcitest.c
+++ b/tests/virpcitest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virpolkittest.c b/tests/virpolkittest.c
index f7589dba00..25e759d703 100644
--- a/tests/virpolkittest.c
+++ b/tests/virpolkittest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virportallocatormock.c b/tests/virportallocatormock.c
index 9de0335601..c0f8e8e857 100644
--- a/tests/virportallocatormock.c
+++ b/tests/virportallocatormock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virportallocatortest.c b/tests/virportallocatortest.c
index 29da9a7c01..211de705a4 100644
--- a/tests/virportallocatortest.c
+++ b/tests/virportallocatortest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virrandommock.c b/tests/virrandommock.c
index 9d7f695749..3781b0f4ef 100644
--- a/tests/virrandommock.c
+++ b/tests/virrandommock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: John Ferlan <jferlan(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virrotatingfiletest.c b/tests/virrotatingfiletest.c
index 159d84ec9d..0d81bbfd6a 100644
--- a/tests/virrotatingfiletest.c
+++ b/tests/virrotatingfiletest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virschematest.c b/tests/virschematest.c
index 7dda14e336..4c348d9909 100644
--- a/tests/virschematest.c
+++ b/tests/virschematest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Ján Tomko <jtomko(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virscsitest.c b/tests/virscsitest.c
index eff488641b..665f70e28b 100644
--- a/tests/virscsitest.c
+++ b/tests/virscsitest.c
@@ -15,8 +15,6 @@
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
- * Author: Osier Yang <jyang(a)redhat.com>
- *
*/
#include <config.h>
diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c
index be4f558035..c7c40b16f8 100644
--- a/tests/virstoragetest.c
+++ b/tests/virstoragetest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Eric Blake <eblake(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virstringtest.c b/tests/virstringtest.c
index d1a593cb9a..cbbfaa259d 100644
--- a/tests/virstringtest.c
+++ b/tests/virstringtest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virsystemdtest.c b/tests/virsystemdtest.c
index 7d15c0f37d..66f24143d0 100644
--- a/tests/virsystemdtest.c
+++ b/tests/virsystemdtest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virtestmock.c b/tests/virtestmock.c
index e0a3388266..1cafbec0d5 100644
--- a/tests/virtestmock.c
+++ b/tests/virtestmock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virtimetest.c b/tests/virtimetest.c
index 79a1e153da..1eb321858b 100644
--- a/tests/virtimetest.c
+++ b/tests/virtimetest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/viruritest.c b/tests/viruritest.c
index 8ccfba71b3..ba5db15011 100644
--- a/tests/viruritest.c
+++ b/tests/viruritest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virusbmock.c b/tests/virusbmock.c
index fbab6e48be..f35ad407ad 100644
--- a/tests/virusbmock.c
+++ b/tests/virusbmock.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jan Tomko <jtomko(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/virusbtest.c b/tests/virusbtest.c
index d1f3e9c239..564c4b44a4 100644
--- a/tests/virusbtest.c
+++ b/tests/virusbtest.c
@@ -14,8 +14,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Jan Tomko <jtomko(a)redhat.com>
*/
#include <config.h>
diff --git a/tests/xlconfigtest.c b/tests/xlconfigtest.c
index 928fbaf42f..b1eb8a0614 100644
--- a/tests/xlconfigtest.c
+++ b/tests/xlconfigtest.c
@@ -18,8 +18,6 @@
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
- *
*/
#include <config.h>
diff --git a/tests/xmconfigtest.c b/tests/xmconfigtest.c
index 35cef16629..cae1ed15d4 100644
--- a/tests/xmconfigtest.c
+++ b/tests/xmconfigtest.c
@@ -17,8 +17,6 @@
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
- * Author: Daniel P. Berrange <berrange(a)redhat.com>
- *
*/
#include <config.h>
diff --git a/tools/nss/libvirt_nss.c b/tools/nss/libvirt_nss.c
index ec73ea575a..46d051c08c 100644
--- a/tools/nss/libvirt_nss.c
+++ b/tools/nss/libvirt_nss.c
@@ -21,9 +21,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tools/nss/libvirt_nss.h b/tools/nss/libvirt_nss.h
index a25fe01106..325058d4b8 100644
--- a/tools/nss/libvirt_nss.h
+++ b/tools/nss/libvirt_nss.h
@@ -21,9 +21,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn(a)redhat.com>
*/
#ifndef __LIBVIRT_NSS_H__
diff --git a/tools/virsh-completer.c b/tools/virsh-completer.c
index 44ddada538..cfbfeae328 100644
--- a/tools/virsh-completer.c
+++ b/tools/virsh-completer.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
#include <config.h>
diff --git a/tools/virsh-console.c b/tools/virsh-console.c
index 05e3ebd04a..045a636867 100644
--- a/tools/virsh-console.c
+++ b/tools/virsh-console.c
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel Berrange <berrange(a)redhat.com>
*/
#include <config.h>
diff --git a/tools/virsh-console.h b/tools/virsh-console.h
index 598d353dd0..c3fa38340e 100644
--- a/tools/virsh-console.h
+++ b/tools/virsh-console.h
@@ -16,9 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Daniel Berrange <berrange(a)redhat.com>
*/
#ifndef __VIR_CONSOLE_H__
diff --git a/tools/virt-admin.c b/tools/virt-admin.c
index aa4564858e..0dfb86ee62 100644
--- a/tools/virt-admin.c
+++ b/tools/virt-admin.c
@@ -16,8 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- * Authors:
- * Erik Skultety <eskultet(a)redhat.com>
*/
#include <config.h>
diff --git a/tools/vsh-table.c b/tools/vsh-table.c
index 9855609e54..fda8f15879 100644
--- a/tools/vsh-table.c
+++ b/tools/vsh-table.c
@@ -16,10 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Simon Kobyda <skobyda(a)redhat.com>
- *
*/
#include <config.h>
diff --git a/tools/vsh-table.h b/tools/vsh-table.h
index ef03d4f3ca..15a9f8957b 100644
--- a/tools/vsh-table.h
+++ b/tools/vsh-table.h
@@ -16,10 +16,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Simon Kobyda <skobyda(a)redhat.com>
- *
*/
#ifndef VSH_TABLE_H
diff --git a/tools/wireshark/src/packet-libvirt.c b/tools/wireshark/src/packet-libvirt.c
index c037ad7e26..a71ad9f812 100644
--- a/tools/wireshark/src/packet-libvirt.c
+++ b/tools/wireshark/src/packet-libvirt.c
@@ -15,10 +15,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Michal Privoznik <mprivozn redhat com>
- * Yuto KAWAMURA(kawamuray) <kawamuray.dadada gmail.com>
*/
#include <config.h>
diff --git a/tools/wireshark/src/packet-libvirt.h b/tools/wireshark/src/packet-libvirt.h
index 9874a8cbfc..53197eb2eb 100644
--- a/tools/wireshark/src/packet-libvirt.h
+++ b/tools/wireshark/src/packet-libvirt.h
@@ -15,8 +15,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
- *
- * Author: Yuto KAWAMURA(kawamuray)
*/
#ifndef _PACKET_LIBVIRT_H_
# define _PACKET_LIBVIRT_H_
diff --git a/tools/wireshark/util/genxdrstub.pl b/tools/wireshark/util/genxdrstub.pl
old mode 100755
new mode 100644
index 07f0ff7250..cae64b2f49
--- a/tools/wireshark/util/genxdrstub.pl
+++ b/tools/wireshark/util/genxdrstub.pl
@@ -17,7 +17,6 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
-# Author: Yuto KAWAMURA(kawamuray)
#
# For XDR syntax, see http://tools.ietf.org/html/rfc4506#section-6.3
# This script does not strictly check syntax of xdr protocol specification.
--
2.19.2
2
3
[libvirt] [PATCH 0/8] Add tests for Storage Pool startup command line generation
by John Ferlan 13 Dec '18
by John Ferlan 13 Dec '18
13 Dec '18
Similar to qemuxml2argv and storagevolxml2argv, add storagepoolxml2argvtest
in order to check the command line creation for the pool 'Start' commands.
Only applicable for pool types with a "@startPool" function - that is disk,
fs, iscsi, logical, scsi, and vstorage and further restricted if the pool
doesn't use virCommandPtr type processing.
This initial series only addresses fs and logical so that it's not "too
many patches to review".
The iscsi and vstorage pools could have their own tests, with the iscsi
ones being more challenging to write.
The disk pool does not have the normal command line processing to start
something - rather the command line processing is used to validate that
the pool about to be started is of a valid type based on the label seen
at startup compared to the pool XML. This processing is not easily mocked.
The scsi (for NPIV) doesn't use the virCommandPtr style interfaces, but at
least that processing is tested in other ways using testCreateVport from
test_driver.c.
John Ferlan (8):
storage: Extract out mount command creation for FS Backend
storage: Move FS backend mount creation command helper
storage: Move virStorageBackendFileSystemGetPoolSource
tests: Introduce tests for storage pool xml to argv checks
tests: Add storagepool xml test for netfs-auto
storage: Rework virStorageBackendFileSystemMountCmd
logical: Fix @on argument type
storage: Add tests for logical backend startup
src/storage/storage_backend_fs.c | 77 +-------
src/storage/storage_backend_logical.c | 12 +-
src/storage/storage_util.c | 122 ++++++++++++
src/storage/storage_util.h | 11 ++
tests/Makefile.am | 12 ++
tests/storagepoolxml2argvdata/pool-fs.argv | 1 +
.../pool-logical-create.argv | 1 +
.../pool-logical-noname.argv | 1 +
.../pool-logical-nopath.argv | 1 +
.../storagepoolxml2argvdata/pool-logical.argv | 1 +
.../pool-netfs-auto.argv | 1 +
.../pool-netfs-cifs.argv | 1 +
.../pool-netfs-gluster.argv | 1 +
tests/storagepoolxml2argvdata/pool-netfs.argv | 1 +
tests/storagepoolxml2argvtest.c | 175 ++++++++++++++++++
.../storagepoolxml2xmlin/pool-netfs-auto.xml | 19 ++
.../storagepoolxml2xmlout/pool-netfs-auto.xml | 20 ++
tests/storagepoolxml2xmltest.c | 1 +
18 files changed, 375 insertions(+), 83 deletions(-)
create mode 100644 tests/storagepoolxml2argvdata/pool-fs.argv
create mode 100644 tests/storagepoolxml2argvdata/pool-logical-create.argv
create mode 100644 tests/storagepoolxml2argvdata/pool-logical-noname.argv
create mode 100644 tests/storagepoolxml2argvdata/pool-logical-nopath.argv
create mode 100644 tests/storagepoolxml2argvdata/pool-logical.argv
create mode 100644 tests/storagepoolxml2argvdata/pool-netfs-auto.argv
create mode 100644 tests/storagepoolxml2argvdata/pool-netfs-cifs.argv
create mode 100644 tests/storagepoolxml2argvdata/pool-netfs-gluster.argv
create mode 100644 tests/storagepoolxml2argvdata/pool-netfs.argv
create mode 100644 tests/storagepoolxml2argvtest.c
create mode 100644 tests/storagepoolxml2xmlin/pool-netfs-auto.xml
create mode 100644 tests/storagepoolxml2xmlout/pool-netfs-auto.xml
--
2.17.2
2
15
[libvirt] [PATCH v2 0/2] qemu: Don't use -mem-prealloc among with .prealloc=yes
by Michal Privoznik 12 Dec '18
by Michal Privoznik 12 Dec '18
12 Dec '18
v2 of:
https://www.redhat.com/archives/libvir-list/2018-November/msg00159.html
diff to v1:
- Patch 01/02 is completely new
- Patch 02/02 has reworded commit message
Michal Prívozník (2):
qemuBuildMemoryBackendProps: Pass @priv instead of its individual
members
qemu: Don't use -mem-prealloc among with .prealloc=yes
src/qemu/qemu_command.c | 56 ++++++++++---------
src/qemu/qemu_command.h | 3 +-
src/qemu/qemu_domain.c | 7 +++
src/qemu/qemu_domain.h | 3 +
src/qemu/qemu_hotplug.c | 2 +-
.../hugepages-numa-default-dimm.args | 2 +-
6 files changed, 44 insertions(+), 29 deletions(-)
--
2.19.2
2
3
So, this series fixes a few issues that are very tightly coupled, so buckle
up if you want to read further, if not, here you go:
TL;DR:
Issue: there's a test passing even though the code doesn't really work
Result: fix both the code and the test
LONG STORY:
The main issue is that we allow starting a domain with multiple OpenGL-enabled
graphics devices:
<graphics type='spice'>
<listen type='none'/>
<gl enable='yes' rendernode='foo'/>
</graphics>
<graphics type='egl-headless'/>
But hey, we have both a validation code handling this and a test case and
everything seems to work. Well, not really, since the validation code for
graphics was never run because it runs as a callback from our device iterator
which only iterates over devices which provide boot info data which graphics do
not provide. Any attempt to pass some arbitrary boot info data for graphics
will cause troubles in other callbacks that are invoked from within the
iterator. The way to enable it is to introduce some flags to alter the
behaviour of the iterator. So why didn't we this scenario? We did, but the
test case was lacking some capabilities and since it's a negative test case, it
happily accepted any kind of error from the library, therefore, negative
versions of DO_TEST_CAPS_LATEST have been introduced to mitigate failures like
these in the future.
Erik
2
14