[libvirt] [PATCH v5 0/3] support dumping guest memory in compressed format
by qiaonuohan@cn.fujitsu.com
dumping guest's memroy is introduced without compression supported, and this is
a freature regression of 'virsh dump --memory-only'. This patchset is used to
add support in libvirt side to make qemu dump guest's memory in kdump-compressed
format and please refer the following address to see implementation of the qemu
side, the lastest version of qemu side is v9(ready for being queued).
http://lists.nongnu.org/archive/html/qemu-devel/2014-02/msg03016.html
ChangLog:
Changes from v4 to v5:
1. modify some restriction check
Changes from v3 to v4:
1. dropping patch "add dump_memory_format in qemu.conf"
2. fix to follow some conventions
Changes from v2 to v3:
1. address Jiri Denemark's comment about adding a new public API instead of
changing an old one.
Changes from v1 to v2:
1. address Daniel P. Berrange's comment about using a new parameter to replace
flags like VIR_DUMP_COMPRESS_ZLIB.
qiaonuohan (3):
add new virDomainCoreDumpWithFormat API
add qemu support to virDomainCoreDumpWithFormat API
allow "virsh dump --memory-only" specify dump format
include/libvirt/libvirt.h.in | 31 ++++++++++++++
src/driver.h | 7 ++++
src/libvirt.c | 97 ++++++++++++++++++++++++++++++++++++++++++++
src/libvirt_public.syms | 5 +++
src/qemu/qemu_driver.c | 49 ++++++++++++++++++----
src/qemu/qemu_monitor.c | 7 ++--
src/qemu/qemu_monitor.h | 3 +-
src/qemu/qemu_monitor_json.c | 4 +-
src/qemu/qemu_monitor_json.h | 3 +-
src/remote/remote_driver.c | 1 +
src/remote/remote_protocol.x | 15 ++++++-
src/remote_protocol-structs | 7 ++++
src/test/test_driver.c | 20 +++++++--
tests/qemumonitorjsontest.c | 2 +-
tools/virsh-domain.c | 45 +++++++++++++++++++-
15 files changed, 275 insertions(+), 21 deletions(-)
--
1.8.5.3
10 years, 9 months
[libvirt] [PATCH v6 0/4] support dumping guest memory in compressed format
by qiaonuohan@cn.fujitsu.com
dumping guest's memory is introduced without compression supported, but now
qemu can dump guest's memory in kdump-compressed format. This patchset is used
to add support in libvirt side to let qemu do the dump in compressed format and
please refer the following address to see implementation of the qemu side, the
lastest version of qemu side is v9.
http://lists.nongnu.org/archive/html/qemu-devel/2014-02/msg03016.html
ChangLog:
Changes from v5 to v6:
1. add qemuMonitorGetDumpGuestMemoryCapability API to check the available dump
format
Changes from v4 to v5:
1. modify some restriction check
Changes from v3 to v4:
1. dropping patch "add dump_memory_format in qemu.conf"
2. fix to follow some conventions
Changes from v2 to v3:
1. address Jiri Denemark's comment about adding a new public API instead of
changing an old one.
Changes from v1 to v2:
1. address Daniel P. Berrange's comment about using a new parameter to replace
flags like VIR_DUMP_COMPRESS_ZLIB.
qiaonuohan (4):
add new virDomainCoreDumpWithFormat API
qemu: add qemuMonitorGetDumpGuestMemoryCapability
qemu: add support for virDomainCoreDumpWithFormat API
allow "virsh dump --memory-only" specify dump format
include/libvirt/libvirt.h.in | 8 ++++
src/driver.h | 7 ++++
src/libvirt.c | 92 ++++++++++++++++++++++++++++++++++++++++++++
src/libvirt_public.syms | 5 +++
src/qemu/qemu_driver.c | 50 +++++++++++++++++++-----
src/qemu/qemu_monitor.c | 27 +++++++++++--
src/qemu/qemu_monitor.h | 6 ++-
src/qemu/qemu_monitor_json.c | 86 ++++++++++++++++++++++++++++++++++++++---
src/qemu/qemu_monitor_json.h | 6 ++-
src/remote/remote_driver.c | 1 +
src/remote/remote_protocol.x | 15 +++++++-
src/remote_protocol-structs | 7 ++++
src/test/test_driver.c | 21 ++++++++--
tests/qemumonitorjsontest.c | 2 +-
tools/virsh-domain.c | 30 +++++++++++++--
tools/virsh.pod | 6 +++
16 files changed, 342 insertions(+), 27 deletions(-)
--
1.8.5.3
10 years, 9 months
[libvirt] [PATCH v2 0/5] Expose FSFreeze/FSThaw within the guest as API
by Tomoki Sekiyama
Hello,
This is patchset v2 to add FSFreeze/FSThaw API for custom disk snapshotting.
Changes to v1:
* added quiesced status tracking to avoid double fsfreeze in qemu driver
* removed unused 'mountPoint' argument
* use "@acl: domain:write" in remote driver
* rebased to master
(v1: http://www.redhat.com/archives/libvir-list/2013-November/msg00610.html )
=== Description ===
Currently FSFreeze and FSThaw are supported by qemu guest agent and they are
used internally in snapshot-create command with --quiesce option.
However, when users want to utilize the native snapshot feature of storage
devices (such as LVM over iSCSI, enterprise storage appliances, etc.),
they need to issue fsfreeze command separately from libvirt-driven snapshots.
(OpenStack cinder provides these storages' snapshot feature, but it cannot
quiesce the guest filesystems automatically for now.)
Although virDomainQemuGuestAgent() API could be used for this purpose, it
is only for debugging and is not supported officially.
This patchset adds virDomainFSFreeze()/virDomainFSThaw() APIs and virsh
domfsfreeze/domfsthaw commands to enable the users to freeze and thaw
domain's filesystems cleanly.
The APIs have flags option currently unsupported for future extension.
---
Tomoki Sekiyama (5):
Introduce virDomainFSFreeze() and virDomainFSThaw() public API
remote: Implement virDomainFSFreeze and virDomainFSThaw
qemu: Track domain quiesced status
qemu: Implement virDomainFSFreeze and virDomainFSThaw
virsh: Expose new virDomainFSFreeze and virDomainFSThaw API
include/libvirt/libvirt.h.in | 6 ++
src/driver.h | 10 ++++
src/libvirt.c | 70 +++++++++++++++++++++++++
src/libvirt_public.syms | 5 ++
src/qemu/qemu_domain.h | 2 +
src/qemu/qemu_driver.c | 119 ++++++++++++++++++++++++++++++++++++++----
src/remote/remote_driver.c | 2 +
src/remote/remote_protocol.x | 23 ++++++++
src/remote_protocol-structs | 9 +++
src/rpc/gendispatch.pl | 2 +
tools/virsh-domain.c | 92 ++++++++++++++++++++++++++++++++
tools/virsh.pod | 15 +++++
12 files changed, 344 insertions(+), 11 deletions(-)
10 years, 9 months
[libvirt] [PATCH] libvirt-tck: Ignore SIGPIPE in 051-daemon-hook.t
by Mike Latimer
This test completes successfully, but results in a return code of 141 due to
a broken pipe when restarting libvirtd. This patch just masks the SIGPIPE
and undefines $tck to avoid the 141 return code. If there is a way to
reestablish the tck connection after the restart, that would be a better
solution.
---
scripts/hooks/051-daemon-hook.t | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/scripts/hooks/051-daemon-hook.t b/scripts/hooks/051-daemon-hook.t
index 165cf4e..a6c3d03 100644
--- a/scripts/hooks/051-daemon-hook.t
+++ b/scripts/hooks/051-daemon-hook.t
@@ -163,5 +163,10 @@ SKIP: {
ok(`service libvirtd status` =~ /running/, "libvirtd is running");
$hook->cleanup();
+
+ # Restarting libvirtd broke the tck connection, so ignore sigpipe and
+ # undefine $tck to avoid a return code of 141
+ $SIG{PIPE} = 'IGNORE';
+ undef $tck;
};
--
1.8.4.5
10 years, 9 months
[libvirt] [PATCH v2 1/3] qemu: XMLToNative: Don't show -S
by Cole Robinson
-S causes qemu to start in the paused state. Since XML2Native is intended
to generate something that users can run directly, this will trip them up.
---
v2:
s/forXMLToArgv/standalone/g
src/qemu/qemu_command.c | 8 ++++++--
src/qemu/qemu_command.h | 3 ++-
src/qemu/qemu_driver.c | 6 ++++--
src/qemu/qemu_process.c | 2 +-
tests/qemuxml2argvtest.c | 2 +-
tests/qemuxmlnstest.c | 2 +-
6 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index aa1a3db..3e6a172 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -7711,7 +7711,8 @@ qemuBuildCommandLine(virConnectPtr conn,
int migrateFd,
virDomainSnapshotObjPtr snapshot,
enum virNetDevVPortProfileOp vmop,
- qemuBuildCommandLineCallbacksPtr callbacks)
+ qemuBuildCommandLineCallbacksPtr callbacks,
+ bool standalone)
{
virErrorPtr originalError = NULL;
size_t i, j;
@@ -7820,7 +7821,10 @@ qemuBuildCommandLine(virConnectPtr conn,
virCommandAddArg(cmd, def->name);
}
}
- virCommandAddArg(cmd, "-S"); /* freeze CPU */
+
+ if (!standalone)
+ virCommandAddArg(cmd, "-S"); /* freeze CPU */
+
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_ENABLE_FIPS))
virCommandAddArg(cmd, "-enable-fips");
diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h
index ebb0b1d..50dc4a0 100644
--- a/src/qemu/qemu_command.h
+++ b/src/qemu/qemu_command.h
@@ -76,7 +76,8 @@ virCommandPtr qemuBuildCommandLine(virConnectPtr conn,
int migrateFd,
virDomainSnapshotObjPtr current_snapshot,
enum virNetDevVPortProfileOp vmop,
- qemuBuildCommandLineCallbacksPtr callbacks)
+ qemuBuildCommandLineCallbacksPtr callbacks,
+ bool forXMLToArgv)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(11);
/* Generate '-device' string for chardev device */
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index ba470a1..a01739c 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -5956,8 +5956,10 @@ static char *qemuConnectDomainXMLToNative(virConnectPtr conn,
if (!(cmd = qemuBuildCommandLine(conn, driver, def,
&monConfig, monitor_json, qemuCaps,
- NULL, -1, NULL, VIR_NETDEV_VPORT_PROFILE_OP_NO_OP,
- &buildCommandLineCallbacks)))
+ NULL, -1, NULL,
+ VIR_NETDEV_VPORT_PROFILE_OP_NO_OP,
+ &buildCommandLineCallbacks,
+ true)))
goto cleanup;
ret = virCommandToString(cmd);
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 809ab37..35ad62a 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -3856,7 +3856,7 @@ int qemuProcessStart(virConnectPtr conn,
if (!(cmd = qemuBuildCommandLine(conn, driver, vm->def, priv->monConfig,
priv->monJSON, priv->qemuCaps,
migrateFrom, stdin_fd, snapshot, vmop,
- &buildCommandLineCallbacks)))
+ &buildCommandLineCallbacks, false)))
goto cleanup;
/* now that we know it is about to start call the hook if present */
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 5d6a64b..8d7d9e5 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -357,7 +357,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
(flags & FLAG_JSON), extraFlags,
migrateFrom, migrateFd, NULL,
VIR_NETDEV_VPORT_PROFILE_OP_NO_OP,
- &testCallbacks))) {
+ &testCallbacks, false))) {
if (!virtTestOOMActive() &&
(flags & FLAG_EXPECT_FAILURE)) {
ret = 0;
diff --git a/tests/qemuxmlnstest.c b/tests/qemuxmlnstest.c
index 20a5ccd..81d496e 100644
--- a/tests/qemuxmlnstest.c
+++ b/tests/qemuxmlnstest.c
@@ -119,7 +119,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
vmdef, &monitor_chr, json, extraFlags,
migrateFrom, migrateFd, NULL,
VIR_NETDEV_VPORT_PROFILE_OP_NO_OP,
- &testCallbacks)))
+ &testCallbacks, false)))
goto fail;
if (!virtTestOOMActive()) {
--
1.8.5.3
10 years, 9 months
[libvirt] [PATCH v3] qemu: cleanup tap devices on FreeBSD
by Roman Bogorodskiy
We have to explicitly destroy TAP devices on FreeBSD because
they're not freed after being closed, otherwise we end up with
orphaned TAP devices after destroying a domain.
---
src/qemu/qemu_process.c | 14 ++++++++++++--
src/util/virnetdevtap.h | 6 ++++++
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index ffa939a..d1acafc 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -4373,7 +4373,10 @@ void qemuProcessStop(virQEMUDriverPtr driver,
def = vm->def;
for (i = 0; i < def->nnets; i++) {
virDomainNetDefPtr net = def->nets[i];
- if (virDomainNetGetActualType(net) == VIR_DOMAIN_NET_TYPE_DIRECT) {
+ vport = virDomainNetGetActualVirtPortProfile(net);
+
+ switch (virDomainNetGetActualType(net)) {
+ case VIR_DOMAIN_NET_TYPE_DIRECT:
ignore_value(virNetDevMacVLanDeleteWithVPortProfile(
net->ifname, &net->mac,
virDomainNetGetActualDirectDev(net),
@@ -4381,11 +4384,18 @@ void qemuProcessStop(virQEMUDriverPtr driver,
virDomainNetGetActualVirtPortProfile(net),
cfg->stateDir));
VIR_FREE(net->ifname);
+ break;
+ case VIR_DOMAIN_NET_TYPE_BRIDGE:
+ case VIR_DOMAIN_NET_TYPE_NETWORK:
+#ifdef VIR_NETDEV_TAP_REQUIRE_MANUAL_CLEANUP
+ if (!(vport && vport->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH))
+ ignore_value(virNetDevTapDelete(net->ifname));
+#endif
+ break;
}
/* release the physical device (or any other resources used by
* this interface in the network driver
*/
- vport = virDomainNetGetActualVirtPortProfile(net);
if (vport && vport->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH)
ignore_value(virNetDevOpenvswitchRemovePort(
virDomainNetGetActualBridgeName(net),
diff --git a/src/util/virnetdevtap.h b/src/util/virnetdevtap.h
index a762b31..1e5bd19 100644
--- a/src/util/virnetdevtap.h
+++ b/src/util/virnetdevtap.h
@@ -27,6 +27,12 @@
# include "virnetdevvportprofile.h"
# include "virnetdevvlan.h"
+# ifdef __FreeBSD__
+/* This should be defined on OSes that don't automatically
+ * cleanup released devices */
+# define VIR_NETDEV_TAP_REQUIRE_MANUAL_CLEANUP 1
+# endif
+
int virNetDevTapCreate(char **ifname,
int *tapfd,
int tapfdSize,
--
1.8.4.3
10 years, 9 months
[libvirt] [PATCH 1/3] qemu: XMLToNative: Don't show -S
by Cole Robinson
-S causes qemu to start in the paused state. Since XML2Native is intended
to generate something that users can run directly, this will trip them up.
---
src/qemu/qemu_command.c | 8 ++++++--
src/qemu/qemu_command.h | 3 ++-
src/qemu/qemu_driver.c | 6 ++++--
src/qemu/qemu_process.c | 2 +-
tests/qemuxml2argvtest.c | 2 +-
tests/qemuxmlnstest.c | 2 +-
6 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index aa1a3db..755a72a 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -7711,7 +7711,8 @@ qemuBuildCommandLine(virConnectPtr conn,
int migrateFd,
virDomainSnapshotObjPtr snapshot,
enum virNetDevVPortProfileOp vmop,
- qemuBuildCommandLineCallbacksPtr callbacks)
+ qemuBuildCommandLineCallbacksPtr callbacks,
+ bool forXMLToArgv)
{
virErrorPtr originalError = NULL;
size_t i, j;
@@ -7820,7 +7821,10 @@ qemuBuildCommandLine(virConnectPtr conn,
virCommandAddArg(cmd, def->name);
}
}
- virCommandAddArg(cmd, "-S"); /* freeze CPU */
+
+ if (!forXMLToArgv)
+ virCommandAddArg(cmd, "-S"); /* freeze CPU */
+
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_ENABLE_FIPS))
virCommandAddArg(cmd, "-enable-fips");
diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h
index ebb0b1d..50dc4a0 100644
--- a/src/qemu/qemu_command.h
+++ b/src/qemu/qemu_command.h
@@ -76,7 +76,8 @@ virCommandPtr qemuBuildCommandLine(virConnectPtr conn,
int migrateFd,
virDomainSnapshotObjPtr current_snapshot,
enum virNetDevVPortProfileOp vmop,
- qemuBuildCommandLineCallbacksPtr callbacks)
+ qemuBuildCommandLineCallbacksPtr callbacks,
+ bool forXMLToArgv)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(11);
/* Generate '-device' string for chardev device */
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index ba470a1..a01739c 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -5956,8 +5956,10 @@ static char *qemuConnectDomainXMLToNative(virConnectPtr conn,
if (!(cmd = qemuBuildCommandLine(conn, driver, def,
&monConfig, monitor_json, qemuCaps,
- NULL, -1, NULL, VIR_NETDEV_VPORT_PROFILE_OP_NO_OP,
- &buildCommandLineCallbacks)))
+ NULL, -1, NULL,
+ VIR_NETDEV_VPORT_PROFILE_OP_NO_OP,
+ &buildCommandLineCallbacks,
+ true)))
goto cleanup;
ret = virCommandToString(cmd);
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 809ab37..35ad62a 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -3856,7 +3856,7 @@ int qemuProcessStart(virConnectPtr conn,
if (!(cmd = qemuBuildCommandLine(conn, driver, vm->def, priv->monConfig,
priv->monJSON, priv->qemuCaps,
migrateFrom, stdin_fd, snapshot, vmop,
- &buildCommandLineCallbacks)))
+ &buildCommandLineCallbacks, false)))
goto cleanup;
/* now that we know it is about to start call the hook if present */
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 5d6a64b..8d7d9e5 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -357,7 +357,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
(flags & FLAG_JSON), extraFlags,
migrateFrom, migrateFd, NULL,
VIR_NETDEV_VPORT_PROFILE_OP_NO_OP,
- &testCallbacks))) {
+ &testCallbacks, false))) {
if (!virtTestOOMActive() &&
(flags & FLAG_EXPECT_FAILURE)) {
ret = 0;
diff --git a/tests/qemuxmlnstest.c b/tests/qemuxmlnstest.c
index 20a5ccd..81d496e 100644
--- a/tests/qemuxmlnstest.c
+++ b/tests/qemuxmlnstest.c
@@ -119,7 +119,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
vmdef, &monitor_chr, json, extraFlags,
migrateFrom, migrateFd, NULL,
VIR_NETDEV_VPORT_PROFILE_OP_NO_OP,
- &testCallbacks)))
+ &testCallbacks, false)))
goto fail;
if (!virtTestOOMActive()) {
--
1.8.5.3
10 years, 9 months
[libvirt] [PATCH] Fix build with qemu driver disabled
by Roman Bogorodskiy
Do not include test_libvirt_lockd.aug when configured without qemu
driver.
https://bugzilla.redhat.com/show_bug.cgi?id=1071777
---
src/Makefile.am | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 25d0370..e5cbad0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1757,7 +1757,9 @@ if WITH_QEMU
test_libvirt_lockd.aug: locking/test_libvirt_lockd.aug.in \
locking/qemu-lockd.conf $(AUG_GENTEST)
$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-lockd.conf $< $@
-endif WITH_QEMU
+else ! WITH_QEMU
+test_libvirt_lockd.aug:
+endif ! WITH_QEMU
test_virtlockd.aug: locking/test_virtlockd.aug.in \
locking/virtlockd.conf $(AUG_GENTEST)
@@ -2122,12 +2124,12 @@ lockd_la_LIBADD = ../gnulib/lib/libgnu.la \
libvirt-net-rpc-client.la \
$(NULL)
augeas_DATA += locking/libvirt_lockd.aug
-augeastest_DATA += test_libvirt_lockd.aug
-CLEANFILES += test_libvirt_lockd.aug
if WITH_DTRACE_PROBES
lockd_la_LIBADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES
if WITH_QEMU
+augeastest_DATA += test_libvirt_lockd.aug
+CLEANFILES += test_libvirt_lockd.aug
nodist_conf_DATA += locking/qemu-lockd.conf
BUILT_SOURCES += locking/qemu-lockd.conf
DISTCLEANFILES += locking/qemu-lockd.conf
--
1.8.4.2
10 years, 9 months
[libvirt] [PATCH] openvzRegister: Check for error return
by John Ferlan
A recent change to openvz_driver.c caused Coverity to make additional
comparisons and find that the openvzRegister() was not checking the
status of virRegisterDriver() call like other callers and thus generated
a CHECKED_RETURN condition
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/openvz/openvz_driver.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
index 393f397..c10fa05 100644
--- a/src/openvz/openvz_driver.c
+++ b/src/openvz/openvz_driver.c
@@ -2239,6 +2239,7 @@ static virDriver openvzDriver = {
};
int openvzRegister(void) {
- virRegisterDriver(&openvzDriver);
+ if (virRegisterDriver(&openvzDriver) < 0)
+ return -1;
return 0;
}
--
1.8.5.3
10 years, 9 months
[libvirt] [PATCH 0/6] eliminate hardcoded indent from all XML - PART 2
by Laine Stump
This is a followup to
https://www.redhat.com/archives/libvir-list/2014-March/msg00350.html
Eric had ACKed all of those patches, but pointed out some
omissions. The first patch of this series should be squashed into 1/9
of the previous series (which I haven't yet pushed), and the others
are new. The final patch adds a syntax-check rule to keep new
hardcoded spacing from creeping in. (I'm still pondering the idea of
giving virBuffer a "pretty print" mode. It would certainly make it
more difficult to mess up indentation).
Laine Stump (6):
squash this into domain conf XML "eliminate hardcoded indent" patch
virsh: eliminate hardcoded indentation in xml generated for commands
qemu: eliminate hardcoded indent from migration cookie xml
util: eliminate hardcoded indent in virConnectSysInfo formatting
qemu: elmininate hardcoded indent in capabilities cache XML
build: detect/prohibit hardcoded XML indent in syntax-check
cfg.mk | 7 ++++-
src/conf/domain_conf.c | 2 +-
src/lxc/lxc_domain.c | 4 +--
src/qemu/qemu_capabilities.c | 20 ++++++------
src/qemu/qemu_domain.c | 45 ++++++++++++++++-----------
src/qemu/qemu_migration.c | 49 ++++++++++++++++++------------
src/util/virsysinfo.c | 72 ++++++++++++++++++++++++--------------------
tools/virsh-domain.c | 43 ++++++++++++++------------
tools/virsh-pool.c | 40 +++++++++++++++---------
tools/virsh-snapshot.c | 24 +++++++++------
tools/virsh-volume.c | 26 ++++++++++------
11 files changed, 196 insertions(+), 136 deletions(-)
--
1.8.5.3
10 years, 9 months