From bb16f4a25d091cc382e9860d4953125d13d5cab3 Mon Sep 17 00:00:00 2001
From: "Daniel P. Berrange" <berrange@redhat.com>
Date: Wed, 20 Aug 2008 20:48:35 +0000
Subject: [PATCH] Do conditional driver config in Makefile.am, not source files

---
 ChangeLog             |   20 +-
 configure.in          |   15 +-
 po/libvirt.pot        | 2558 ++++++++++++++++++++---------------------
 qemud/Makefile.am     |   46 +-
 src/Makefile.am       |  212 +++-
 src/bridge.c          |    4 +-
 src/bridge.h          |    4 +-
 src/conf.h            |    7 -
 src/console.h         |   10 +-
 src/driver.h          |    7 -
 src/hash.h            |    7 -
 src/internal.h        |    7 -
 src/libvirt.c         |   21 +-
 src/lxc_conf.c        |    3 -
 src/lxc_conf.h        |    3 -
 src/lxc_container.c   |    3 -
 src/lxc_container.h   |    4 -
 src/lxc_driver.c      |    4 -
 src/lxc_driver.h      |    4 -
 src/nodeinfo.h        |   10 +-
 src/openvz_conf.c     |    3 -
 src/openvz_driver.c   |    3 -
 src/proxy_internal.c  |    4 +-
 src/proxy_internal.h  |    7 -
 src/qemu_conf.c       |    4 -
 src/qemu_conf.h       |    4 -
 src/qemu_driver.c     |    3 -
 src/qemu_driver.h     |    4 -
 src/remote_internal.h |    8 +-
 src/test.c            |    6 -
 src/test.h            |    7 -
 src/veth.c            |    4 +-
 src/xen_internal.c    |    3 -
 src/xen_internal.h    |    8 +-
 src/xen_unified.c     |    3 -
 src/xen_unified.h     |    9 -
 src/xend_internal.c   |    2 -
 src/xend_internal.h   |    4 -
 src/xm_internal.c     |    2 -
 src/xs_internal.c     |    3 -
 src/xs_internal.h     |    7 -
 tests/testutils.h     |   46 +-
 42 files changed, 1514 insertions(+), 1579 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 555a206ecb..76a5cae7ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,22 @@
-Wed Aug 20 42:42:09 BST 2008 Daniel P. Berrange <berrange@redhat.com>
+Wed Aug 20 21:05:09 BST 2008 Daniel P. Berrange <berrange@redhat.com>
+
+	* configure.in, qemud/Makefile.am, src/Makefile.am: Use automake
+	conditions when deciding which files to include in build
+	* src/bridge.c, src/bridge.h, src/conf.h, src/console.h,
+	src/driver.h, src/hash.h, src/internal.h, src/libvirt.c,
+	src/lxc_conf.c, src/lxc_conf.h, src/lxc_container.c,
+	src/lxc_container.h, src/lxc_driver.c, src/lxc_driver.h,
+	src/nodeinfo.h, src/openvz_conf.c, src/openvz_driver.c,
+	src/proxy_internal.c, src/proxy_internal.h, src/qemu_conf.c,
+	src/qemu_conf.h, src/qemu_driver.c, src/qemu_driver.h,
+	src/remote_internal.h, src/test.c, src/test.h, src/veth.c,
+	src/xen_internal.c, src/xen_internal.h, src/xen_unified.c,
+	src/xen_unified.h, src/xend_internal.c, src/xend_internal.h,
+	src/xm_internal.c, src/xs_internal.c, src/xs_internal.h
+	tests/testutils.h: Remove preprocessor conditions for driver
+	compilation. Remove unneccessary "extern C" declarations.
+
+Wed Aug 20 20:42:09 BST 2008 Daniel P. Berrange <berrange@redhat.com>
 
 	* src/util.c, src/util.h: Add convenience APIs for stripping
 	a file extension
diff --git a/configure.in b/configure.in
index ac4321fa40..3789abd8ec 100644
--- a/configure.in
+++ b/configure.in
@@ -242,27 +242,35 @@ fi
 LIBVIRT_FEATURES=
 WITH_XEN=0
 
-if test "$with_openvz" = "yes" ; then
+if test "$with_openvz" = "yes"; then
     LIBVIRT_FEATURES="$LIBVIRT_FEATURES -DWITH_OPENVZ"
 fi
+AM_CONDITIONAL([WITH_OPENVZ], [test "$with_openvz" = "yes"])
+
 if test "$with_lxc" = "yes" ; then
     LIBVIRT_FEATURES="$LIBVIRT_FEATURES -DWITH_LXC"
 fi
+AM_CONDITIONAL([WITH_LXC], [test "$with_lxc" = "yes"])
+
 if test "$with_qemu" = "yes" ; then
     LIBVIRT_FEATURES="$LIBVIRT_FEATURES -DWITH_QEMU"
 fi
+AM_CONDITIONAL([WITH_QEMU], [test "$with_qemu" = "yes"])
 
 if test "$with_test" = "yes" ; then
     LIBVIRT_FEATURES="$LIBVIRT_FEATURES -DWITH_TEST"
 fi
+AM_CONDITIONAL([WITH_TEST], [test "$with_test" = "yes"])
 
 if test "$with_remote" = "yes" ; then
     LIBVIRT_FEATURES="$LIBVIRT_FEATURES -DWITH_REMOTE"
 fi
+AM_CONDITIONAL([WITH_REMOTE], [test "$with_remote" = "yes"])
 
 if test "$with_libvirtd" = "yes" ; then
     LIBVIRT_FEATURES="$LIBVIRT_FEATURES -DWITH_LIBVIRTD"
 fi
+AM_CONDITIONAL([WITH_LIBVIRTD], [test "$with_libvirtd" = "yes"])
 
 if test "$with_xen" = "yes" ; then
     dnl search for the Xen store library
@@ -295,11 +303,12 @@ if test "$with_xen" = "yes" ; then
 #include <xen/xen.h>
 ])
 fi
+AM_CONDITIONAL([WITH_XEN], [test "$WITH_XEN" = "1"])
 
 dnl
-dnl check for kernel headers required by qemud/bridge.c
+dnl check for kernel headers required by src/bridge.c
 dnl
-if test "$with_qemu" = "yes" ; then
+if test "$with_qemu" = "yes" -o "$with_lxc" = "yes" ; then
   AC_CHECK_HEADERS([linux/param.h linux/sockios.h linux/if_bridge.h linux/if_tun.h],,
                    AC_MSG_ERROR([You must install kernel-headers in order to compile libvirt]))
 fi
diff --git a/po/libvirt.pot b/po/libvirt.pot
index 0cd5effbfc..2640f64557 100644
--- a/po/libvirt.pot
+++ b/po/libvirt.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-08-12 09:55+0200\n"
+"POT-Creation-Date: 2008-08-20 21:29+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -150,11 +150,11 @@ msgstr ""
 msgid "Received signal %d, dispatching to drivers"
 msgstr ""
 
-#: qemud/qemud.c:284 src/util.c:142 src/util.c:154
+#: qemud/qemud.c:284 src/util.c:182 src/util.c:213
 msgid "Failed to set close-on-exec file descriptor flag"
 msgstr ""
 
-#: qemud/qemud.c:299 src/util.c:138 src/util.c:150
+#: qemud/qemud.c:299 src/util.c:176 src/util.c:207
 msgid "Failed to set non-blocking file descriptor flag"
 msgstr ""
 
@@ -423,7 +423,7 @@ msgstr ""
 msgid "Failed to fork as daemon: %s"
 msgstr ""
 
-#: qemud/qemud.c:2180
+#: qemud/qemud.c:2180 src/util.c:200
 #, c-format
 msgid "Failed to create pipe: %s"
 msgstr ""
@@ -790,8 +790,8 @@ msgstr ""
 msgid "expecting an assignment"
 msgstr ""
 
-#: src/conf.c:894 src/conf.c:950 src/lxc_conf.c:988 src/xend_internal.c:585
-#: src/xend_internal.c:2658 src/xm_internal.c:1496 src/xm_internal.c:1503
+#: src/conf.c:894 src/conf.c:950 src/xend_internal.c:584
+#: src/xend_internal.c:2657 src/xm_internal.c:1495 src/xm_internal.c:1502
 msgid "allocate buffer"
 msgstr ""
 
@@ -833,458 +833,437 @@ msgstr ""
 msgid "failure writing output: %s\n"
 msgstr ""
 
-#: src/domain_conf.c:519
+#: src/domain_conf.c:518
 #, c-format
 msgid "unknown disk type '%s'"
 msgstr ""
 
-#: src/domain_conf.c:563
+#: src/domain_conf.c:562
 #, c-format
 msgid "unknown disk device '%s'"
 msgstr ""
 
-#: src/domain_conf.c:589
+#: src/domain_conf.c:588
 #, c-format
 msgid "Invalid floppy device name: %s"
 msgstr ""
 
-#: src/domain_conf.c:603
+#: src/domain_conf.c:602
 #, c-format
 msgid "Invalid harddisk device name: %s"
 msgstr ""
 
-#: src/domain_conf.c:610
+#: src/domain_conf.c:609
 #, c-format
 msgid "unknown disk bus type '%s'"
 msgstr ""
 
-#: src/domain_conf.c:633
+#: src/domain_conf.c:632
 #, c-format
 msgid "Invalid bus type '%s' for floppy disk"
 msgstr ""
 
-#: src/domain_conf.c:639
+#: src/domain_conf.c:638
 #, c-format
 msgid "Invalid bus type '%s' for disk"
 msgstr ""
 
-#: src/domain_conf.c:691
+#: src/domain_conf.c:690
 #, c-format
 msgid "unknown filesystem type '%s'"
 msgstr ""
 
-#: src/domain_conf.c:793
+#: src/domain_conf.c:792
 #, c-format
 msgid "unknown interface type '%s'"
 msgstr ""
 
-#: src/domain_conf.c:870 src/lxc_conf.c:139
+#: src/domain_conf.c:869
 msgid ""
 "No <source> 'network' attribute specified with <interface type='network'/>"
 msgstr ""
 
-#: src/domain_conf.c:896
+#: src/domain_conf.c:895
 msgid "No <source> 'dev' attribute specified with <interface type='bridge'/>"
 msgstr ""
 
-#: src/domain_conf.c:908
+#: src/domain_conf.c:907
 msgid "No <source> 'port' attribute specified with socket interface"
 msgstr ""
 
-#: src/domain_conf.c:913
+#: src/domain_conf.c:912
 msgid "Cannot parse <source> 'port' attribute with socket interface"
 msgstr ""
 
-#: src/domain_conf.c:921
+#: src/domain_conf.c:920
 msgid "No <source> 'address' attribute specified with socket interface"
 msgstr ""
 
-#: src/domain_conf.c:946
+#: src/domain_conf.c:945
 msgid "Model name contains invalid characters"
 msgstr ""
 
-#: src/domain_conf.c:1121 src/domain_conf.c:1198
+#: src/domain_conf.c:1120 src/domain_conf.c:1197
 msgid "Missing source path attribute for char device"
 msgstr ""
 
-#: src/domain_conf.c:1138 src/domain_conf.c:1155
+#: src/domain_conf.c:1137 src/domain_conf.c:1154
 msgid "Missing source host attribute for char device"
 msgstr ""
 
-#: src/domain_conf.c:1143 src/domain_conf.c:1160 src/domain_conf.c:1180
+#: src/domain_conf.c:1142 src/domain_conf.c:1159 src/domain_conf.c:1179
 msgid "Missing source service attribute for char device"
 msgstr ""
 
-#: src/domain_conf.c:1250
+#: src/domain_conf.c:1249
 msgid "missing input device type"
 msgstr ""
 
-#: src/domain_conf.c:1256
+#: src/domain_conf.c:1255
 #, c-format
 msgid "unknown input device type '%s'"
 msgstr ""
 
-#: src/domain_conf.c:1263
+#: src/domain_conf.c:1262
 #, c-format
 msgid "unknown input bus type '%s'"
 msgstr ""
 
-#: src/domain_conf.c:1271
+#: src/domain_conf.c:1270
 #, c-format
 msgid "ps2 bus does not support %s input device"
 msgstr ""
 
-#: src/domain_conf.c:1277 src/domain_conf.c:1284
+#: src/domain_conf.c:1276 src/domain_conf.c:1283
 #, c-format
 msgid "unsupported input bus %s"
 msgstr ""
 
-#: src/domain_conf.c:1289
+#: src/domain_conf.c:1288
 #, c-format
 msgid "xen bus does not support %s input device"
 msgstr ""
 
-#: src/domain_conf.c:1334
+#: src/domain_conf.c:1333
 msgid "missing graphics device type"
 msgstr ""
 
-#: src/domain_conf.c:1340
+#: src/domain_conf.c:1339
 #, c-format
 msgid "unknown graphics device type '%s'"
 msgstr ""
 
-#: src/domain_conf.c:1351
+#: src/domain_conf.c:1350
 #, c-format
 msgid "cannot parse vnc port %s"
 msgstr ""
 
-#: src/domain_conf.c:1409
+#: src/domain_conf.c:1408
 #, c-format
 msgid "unknown sound model '%s'"
 msgstr ""
 
-#: src/domain_conf.c:1442
+#: src/domain_conf.c:1441
 #, c-format
 msgid "cannot parse vendor id %s"
 msgstr ""
 
-#: src/domain_conf.c:1449
+#: src/domain_conf.c:1448
 msgid "usb vendor needs id"
 msgstr ""
 
-#: src/domain_conf.c:1459
+#: src/domain_conf.c:1458
 #, c-format
 msgid "cannot parse product %s"
 msgstr ""
 
-#: src/domain_conf.c:1466
+#: src/domain_conf.c:1465
 msgid "usb product needs id"
 msgstr ""
 
-#: src/domain_conf.c:1477
+#: src/domain_conf.c:1476
 #, c-format
 msgid "cannot parse bus %s"
 msgstr ""
 
-#: src/domain_conf.c:1484
+#: src/domain_conf.c:1483
 msgid "usb address needs bus id"
 msgstr ""
 
-#: src/domain_conf.c:1493
+#: src/domain_conf.c:1492
 #, c-format
 msgid "cannot parse device %s"
 msgstr ""
 
-#: src/domain_conf.c:1501
+#: src/domain_conf.c:1500
 msgid "usb address needs device id"
 msgstr ""
 
-#: src/domain_conf.c:1506
+#: src/domain_conf.c:1505
 #, c-format
 msgid "unknown usb source type '%s'"
 msgstr ""
 
-#: src/domain_conf.c:1516
+#: src/domain_conf.c:1515
 msgid "missing vendor"
 msgstr ""
 
-#: src/domain_conf.c:1522
+#: src/domain_conf.c:1521
 msgid "missing product"
 msgstr ""
 
-#: src/domain_conf.c:1550
+#: src/domain_conf.c:1549
 #, c-format
 msgid "unknown hostdev mode '%s'"
 msgstr ""
 
-#: src/domain_conf.c:1561
+#: src/domain_conf.c:1560
 #, c-format
 msgid "unknown host device type '%s'"
 msgstr ""
 
-#: src/domain_conf.c:1566
+#: src/domain_conf.c:1565
 msgid "missing type in hostdev"
 msgstr ""
 
-#: src/domain_conf.c:1581
+#: src/domain_conf.c:1580
 #, c-format
-msgid "uknown node %s"
+msgid "unknown node %s"
 msgstr ""
 
-#: src/domain_conf.c:1612
+#: src/domain_conf.c:1611
 #, c-format
 msgid "unknown lifecycle action %s"
 msgstr ""
 
-#: src/domain_conf.c:1640 src/domain_conf.c:2242 src/domain_conf.c:2283
-#: src/network_conf.c:400 src/network_conf.c:440 src/storage_conf.c:424
+#: src/domain_conf.c:1639 src/domain_conf.c:2241 src/domain_conf.c:2282
+#: src/network_conf.c:458 src/network_conf.c:498 src/storage_conf.c:424
 #: src/storage_conf.c:795
 msgid "missing root element"
 msgstr ""
 
-#: src/domain_conf.c:1675
+#: src/domain_conf.c:1674
 msgid "unknown device type"
 msgstr ""
 
-#: src/domain_conf.c:1701
+#: src/domain_conf.c:1700
 msgid "failed to allocate space for xmlXPathContext"
 msgstr ""
 
-#: src/domain_conf.c:1709 src/openvz_conf.c:417
+#: src/domain_conf.c:1708 src/openvz_conf.c:415
 msgid "missing domain type attribute"
 msgstr ""
 
-#: src/domain_conf.c:1715
+#: src/domain_conf.c:1714
 #, c-format
 msgid "invalid domain type %s"
 msgstr ""
 
-#: src/domain_conf.c:1732 src/network_conf.c:258 src/openvz_conf.c:451
+#: src/domain_conf.c:1731 src/network_conf.c:316 src/openvz_conf.c:449
 #, c-format
 msgid "Failed to generate UUID: %s"
 msgstr ""
 
-#: src/domain_conf.c:1739 src/network_conf.c:265 src/openvz_conf.c:458
+#: src/domain_conf.c:1738 src/network_conf.c:323 src/openvz_conf.c:456
 #: src/storage_conf.c:267
 msgid "malformed uuid element"
 msgstr ""
 
-#: src/domain_conf.c:1748
+#: src/domain_conf.c:1747
 msgid "missing memory element"
 msgstr ""
 
-#: src/domain_conf.c:1778
+#: src/domain_conf.c:1777
 #, c-format
 msgid "unexpected feature %s"
 msgstr ""
 
-#: src/domain_conf.c:1818
+#: src/domain_conf.c:1817
 msgid "no OS type"
 msgstr ""
 
-#: src/domain_conf.c:1847 src/xm_internal.c:662
+#: src/domain_conf.c:1846 src/xm_internal.c:661
 #, c-format
 msgid "no supported architecture for os type '%s'"
 msgstr ""
 
-#: src/domain_conf.c:1894
+#: src/domain_conf.c:1893
 msgid "cannot extract boot device"
 msgstr ""
 
-#: src/domain_conf.c:1902
+#: src/domain_conf.c:1901
 msgid "missing boot device"
 msgstr ""
 
-#: src/domain_conf.c:1907
+#: src/domain_conf.c:1906
 #, c-format
 msgid "unknown boot device '%s'"
 msgstr ""
 
-#: src/domain_conf.c:1927 src/xm_internal.c:793
+#: src/domain_conf.c:1926 src/xm_internal.c:792
 msgid "unknown virt type"
 msgstr ""
 
-#: src/domain_conf.c:1945
+#: src/domain_conf.c:1944
 msgid "cannot extract disk devices"
 msgstr ""
 
-#: src/domain_conf.c:1975
+#: src/domain_conf.c:1974
 msgid "cannot extract filesystem devices"
 msgstr ""
 
-#: src/domain_conf.c:1992 src/openvz_conf.c:479
+#: src/domain_conf.c:1991 src/openvz_conf.c:477
 msgid "cannot extract network devices"
 msgstr ""
 
-#: src/domain_conf.c:2010
+#: src/domain_conf.c:2009
 msgid "cannot extract parallel devices"
 msgstr ""
 
-#: src/domain_conf.c:2027
+#: src/domain_conf.c:2026
 msgid "cannot extract serial devices"
 msgstr ""
 
-#: src/domain_conf.c:2071
+#: src/domain_conf.c:2070
 msgid "cannot extract input devices"
 msgstr ""
 
-#: src/domain_conf.c:2103
+#: src/domain_conf.c:2102
 msgid "cannot extract graphics devices"
 msgstr ""
 
-#: src/domain_conf.c:2139
+#: src/domain_conf.c:2138
 msgid "cannot extract sound devices"
 msgstr ""
 
-#: src/domain_conf.c:2170
+#: src/domain_conf.c:2169
 msgid "cannot extract host devices"
 msgstr ""
 
-#: src/domain_conf.c:2206 src/network_conf.c:365 src/storage_conf.c:378
+#: src/domain_conf.c:2205 src/network_conf.c:423 src/storage_conf.c:378
 #, c-format
 msgid "at line %d: %s"
 msgstr ""
 
-#: src/domain_conf.c:2236 src/domain_conf.c:2277 src/network_conf.c:394
-#: src/network_conf.c:434 src/storage_conf.c:410 src/storage_conf.c:781
+#: src/domain_conf.c:2235 src/domain_conf.c:2276 src/network_conf.c:452
+#: src/network_conf.c:492 src/storage_conf.c:410 src/storage_conf.c:781
 msgid "failed to parse xml document"
 msgstr ""
 
-#: src/domain_conf.c:2306 src/network_conf.c:462 src/openvz_conf.c:404
+#: src/domain_conf.c:2305 src/network_conf.c:520 src/openvz_conf.c:402
 msgid "incorrect root element"
 msgstr ""
 
-#: src/domain_conf.c:2515
+#: src/domain_conf.c:2514
 msgid "topology cpuset syntax error"
 msgstr ""
 
-#: src/domain_conf.c:2529
+#: src/domain_conf.c:2528
 #, c-format
 msgid "unexpected lifecycle type %d"
 msgstr ""
 
-#: src/domain_conf.c:2550
+#: src/domain_conf.c:2549
 #, c-format
 msgid "unexpected disk type %d"
 msgstr ""
 
-#: src/domain_conf.c:2555
+#: src/domain_conf.c:2554
 #, c-format
 msgid "unexpected disk device %d"
 msgstr ""
 
-#: src/domain_conf.c:2560
+#: src/domain_conf.c:2559
 #, c-format
 msgid "unexpected disk bus %d"
 msgstr ""
 
-#: src/domain_conf.c:2610
+#: src/domain_conf.c:2609
 #, c-format
 msgid "unexpected filesystem type %d"
 msgstr ""
 
-#: src/domain_conf.c:2661 src/domain_conf.c:2875
+#: src/domain_conf.c:2660 src/domain_conf.c:2874
 #, c-format
 msgid "unexpected net type %d"
 msgstr ""
 
-#: src/domain_conf.c:2729
+#: src/domain_conf.c:2728
 #, c-format
 msgid "unexpected char type %d"
 msgstr ""
 
-#: src/domain_conf.c:2828 src/xend_internal.c:5214
+#: src/domain_conf.c:2827 src/xend_internal.c:5213
 #, c-format
 msgid "unexpected sound model %d"
 msgstr ""
 
-#: src/domain_conf.c:2848 src/xend_internal.c:5237
+#: src/domain_conf.c:2847 src/xend_internal.c:5236
 #, c-format
 msgid "unexpected input type %d"
 msgstr ""
 
-#: src/domain_conf.c:2853
+#: src/domain_conf.c:2852
 #, c-format
 msgid "unexpected input bus type %d"
 msgstr ""
 
-#: src/domain_conf.c:2935
+#: src/domain_conf.c:2934
 #, c-format
 msgid "unexpected hostdev mode %d"
 msgstr ""
 
-#: src/domain_conf.c:2942
+#: src/domain_conf.c:2941
 #, c-format
 msgid "unexpected hostdev type %d"
 msgstr ""
 
-#: src/domain_conf.c:2987
+#: src/domain_conf.c:2986
 #, c-format
 msgid "unexpected domain type %d"
 msgstr ""
 
-#: src/domain_conf.c:3072
+#: src/domain_conf.c:3071
 #, c-format
 msgid "unexpected boot device type %d"
 msgstr ""
 
-#: src/domain_conf.c:3090
+#: src/domain_conf.c:3089
 #, c-format
 msgid "unexpected feature %d"
 msgstr ""
 
-#: src/domain_conf.c:3252 src/lxc_conf.c:778 src/network_conf.c:583
-#: src/storage_conf.c:1138
+#: src/domain_conf.c:3239 src/network_conf.c:651 src/storage_conf.c:1138
 #, c-format
 msgid "cannot create config directory %s: %s"
 msgstr ""
 
-#: src/domain_conf.c:3259 src/network_conf.c:590 src/qemu_driver.c:3161
-#: src/qemu_driver.c:3789 src/storage_driver.c:792
-#, c-format
-msgid "cannot create autostart directory %s: %s"
-msgstr ""
-
-#: src/domain_conf.c:3268 src/lxc_conf.c:736 src/network_conf.c:599
-#: src/storage_conf.c:1181
+#: src/domain_conf.c:3248 src/network_conf.c:667 src/storage_conf.c:1181
 #, c-format
 msgid "cannot create config file %s: %s"
 msgstr ""
 
-#: src/domain_conf.c:3276 src/lxc_conf.c:744 src/network_conf.c:607
-#: src/storage_conf.c:1189
+#: src/domain_conf.c:3256 src/network_conf.c:675 src/storage_conf.c:1189
 #, c-format
 msgid "cannot write config file %s: %s"
 msgstr ""
 
-#: src/domain_conf.c:3283 src/lxc_conf.c:751 src/network_conf.c:614
-#: src/storage_conf.c:1196
+#: src/domain_conf.c:3263 src/network_conf.c:682 src/storage_conf.c:1196
 #, c-format
 msgid "cannot save config file %s: %s"
 msgstr ""
 
-#: src/domain_conf.c:3332
-#, c-format
-msgid "Domain config filename '%s' does not match domain name '%s'"
-msgstr ""
-
-#: src/domain_conf.c:3368 src/network_conf.c:695
+#: src/domain_conf.c:3331 src/network_conf.c:763
 #, c-format
 msgid "Failed to open dir '%s': %s"
 msgstr ""
 
-#: src/domain_conf.c:3400 src/lxc_conf.c:1097 src/network_conf.c:726
-#: src/storage_conf.c:1217
-#, c-format
-msgid "no config file for %s"
-msgstr ""
-
-#: src/domain_conf.c:3409 src/network_conf.c:735
+#: src/domain_conf.c:3381 src/network_conf.c:803
 #, c-format
 msgid "cannot remove config for %s: %s"
 msgstr ""
 
-#: src/hash.c:691 src/libvirt.c:742
+#: src/hash.c:691 src/libvirt.c:748
 msgid "allocating connection"
 msgstr ""
 
@@ -1368,1254 +1347,1176 @@ msgstr ""
 msgid "Failed to add iptables rule '%s' to chain '%s' in table '%s': %s"
 msgstr ""
 
-#: src/libvirt.c:749
+#: src/libvirt.c:755
 msgid "could not parse connection URI"
 msgstr ""
 
-#: src/libvirt.c:767
+#: src/libvirt.c:773
 msgid "allocating conn->name"
 msgstr ""
 
-#: src/libvirt.c:2189
+#: src/libvirt.c:2195
 msgid "domainMigratePrepare did not set uri"
 msgstr ""
 
-#: src/libvirt.c:2657
+#: src/libvirt.c:2663
 msgid "path is NULL"
 msgstr ""
 
-#: src/libvirt.c:2663
+#: src/libvirt.c:2669
 msgid "flags must be zero"
 msgstr ""
 
-#: src/libvirt.c:2670
+#: src/libvirt.c:2676
 msgid "buffer is NULL"
 msgstr ""
 
-#: src/libvirt.c:2753
+#: src/libvirt.c:2759
 msgid "flags parameter must be VIR_MEMORY_VIRTUAL"
 msgstr ""
 
-#: src/libvirt.c:2760
+#: src/libvirt.c:2766
 msgid "buffer is NULL but size is non-zero"
 msgstr ""
 
-#: src/lxc_conf.c:108
-#, c-format
-msgid "invalid interface type: %s"
-msgstr ""
-
-#: src/lxc_conf.c:146
-msgid "No storage for network name"
-msgstr ""
-
-#: src/lxc_conf.c:153
-msgid ""
-"No <source> 'bridge' attribute specified with <interface type='bridge'/>"
-msgstr ""
-
-#: src/lxc_conf.c:160
-msgid "No storage for bridge name"
-msgstr ""
-
-#: src/lxc_conf.c:170
-msgid "No storage for parent veth device name"
-msgstr ""
-
-#: src/lxc_conf.c:219
-msgid "No storage for net def structure"
-msgstr ""
-
-#: src/lxc_conf.c:268
-msgid "missing filesystem type"
-msgstr ""
-
-#: src/lxc_conf.c:274
-msgid "invalid filesystem type"
-msgstr ""
-
-#: src/lxc_conf.c:296
-msgid "missing mount source"
-msgstr ""
-
-#: src/lxc_conf.c:303
-msgid "empty or invalid mount source"
-msgstr ""
-
-#: src/lxc_conf.c:312
-msgid "missing mount target"
-msgstr ""
-
-#: src/lxc_conf.c:319
-msgid "empty or invalid mount target"
-msgstr ""
-
-#: src/lxc_conf.c:360
-msgid "failed to generate uuid"
-msgstr ""
-
-#: src/lxc_conf.c:366
-msgid "invalid uuid element"
-msgstr ""
-
-#: src/lxc_conf.c:428
-msgid "invalid or missing init element"
-msgstr ""
-
-#: src/lxc_conf.c:434
-msgid "init string too long"
-msgstr ""
-
-#: src/lxc_conf.c:473
-msgid "invalid memory value"
-msgstr ""
-
-#: src/lxc_conf.c:500
-msgid "invalid root element"
-msgstr ""
-
-#: src/lxc_conf.c:513
-msgid "missing domain type"
-msgstr ""
-
-#: src/lxc_conf.c:519
-msgid "invalid domain type"
-msgstr ""
-
-#: src/lxc_conf.c:527
-msgid "invalid domain id"
-msgstr ""
-
-#: src/lxc_conf.c:623
-#, c-format
-msgid "Can't redefine active VM with name %s"
-msgstr ""
-
-#: src/lxc_conf.c:676
-#, c-format
-msgid "error checking container process: %d %s"
-msgstr ""
-
-#: src/lxc_conf.c:786 src/storage_conf.c:1146
-msgid "cannot construct config file path"
-msgstr ""
-
-#: src/lxc_conf.c:895
-#, c-format
-msgid "failed to open config directory %s: %s"
-msgstr ""
-
-#: src/lxc_conf.c:1103 src/storage_conf.c:1223
-#, c-format
-msgid "cannot remove config for %s"
-msgstr ""
-
-#: src/lxc_conf.c:1129 src/lxc_conf.c:1207
-#, c-format
-msgid "cannot create lxc state directory %s: %s"
-msgstr ""
-
-#: src/lxc_conf.c:1137 src/lxc_conf.c:1215
-msgid "cannot construct tty pid file path"
-msgstr ""
-
-#: src/lxc_conf.c:1146
-#, c-format
-msgid "cannot create tty pid file %s: %s"
-msgstr ""
-
-#: src/lxc_conf.c:1153
-#, c-format
-msgid "cannot fdopen tty pid file %s: %s"
-msgstr ""
-
-#: src/lxc_conf.c:1158 src/lxc_conf.c:1178 src/lxc_conf.c:1241
-#, c-format
-msgid "failed to close tty pid file %s: %s"
-msgstr ""
-
-#: src/lxc_conf.c:1167
-#, c-format
-msgid "cannot write tty pid file %s: %s"
-msgstr ""
-
-#: src/lxc_conf.c:1227
-#, c-format
-msgid "cannot open tty pid file %s: %s"
-msgstr ""
-
-#: src/lxc_conf.c:1234
-#, c-format
-msgid "cannot read tty pid file %s: %s"
-msgstr ""
-
-#: src/lxc_conf.c:1273
-#, c-format
-msgid "cannot remove ttyPidFile %s: %s"
-msgstr ""
-
-#: src/lxc_container.c:61
-#, c-format
-msgid "failed to calloc memory for init string: %s"
-msgstr ""
-
-#: src/lxc_container.c:71
-#, c-format
-msgid "execl failed to exec init: %s"
-msgstr ""
-
-#: src/lxc_container.c:93
-#, c-format
-msgid "setsid failed: %s"
-msgstr ""
-
-#: src/lxc_container.c:100
-#, c-format
-msgid "open(%s) failed: %s"
-msgstr ""
-
-#: src/lxc_container.c:106
-#, c-format
-msgid "ioctl(TIOCSTTY) failed: %s"
-msgstr ""
-
 #: src/lxc_container.c:114
 #, c-format
+msgid "setsid failed: %s"
+msgstr ""
+
+#: src/lxc_container.c:121
+#, c-format
+msgid "open(%s) failed: %s"
+msgstr ""
+
+#: src/lxc_container.c:127
+#, c-format
+msgid "ioctl(TIOCSTTY) failed: %s"
+msgstr ""
+
+#: src/lxc_container.c:140
+#, c-format
 msgid "dup2(stdin) failed: %s"
 msgstr ""
 
-#: src/lxc_container.c:120
+#: src/lxc_container.c:146
 #, c-format
 msgid "dup2(stdout) failed: %s"
 msgstr ""
 
-#: src/lxc_container.c:126
+#: src/lxc_container.c:152
 #, c-format
 msgid "dup2(stderr) failed: %s"
 msgstr ""
 
-#: src/lxc_container.c:181
-#, c-format
-msgid "Failed to read the container continue message: %s"
-msgstr ""
-
-#: src/lxc_container.c:250
-msgid "lxcChild() passed invalid vm definition"
-msgstr ""
-
-#: src/lxc_container.c:265
-#, c-format
-msgid "failed to mount %s at %s for container: %s"
-msgstr ""
-
-#: src/lxc_container.c:275
-#, c-format
-msgid "failed to mount /proc for container: %s"
-msgstr ""
-
-#: src/lxc_driver.c:299 src/lxc_driver.c:425
-msgid "System lacks NETNS support"
-msgstr ""
-
-#: src/lxc_driver.c:329 src/lxc_driver.c:360 src/lxc_driver.c:393
-#: src/openvz_driver.c:249 src/openvz_driver.c:598 src/openvz_driver.c:628
-#: src/openvz_driver.c:649 src/qemu_driver.c:2156 src/qemu_driver.c:2243
-#: src/qemu_driver.c:2792 src/qemu_driver.c:2847 src/qemu_driver.c:2891
-#: src/qemu_driver.c:2963 src/qemu_driver.c:2996 src/qemu_driver.c:3038
-#: src/qemu_driver.c:3088 src/qemu_driver.c:3131 src/qemu_driver.c:3147
-#: src/qemu_driver.c:3389
-msgid "no domain with matching uuid"
-msgstr ""
-
-#: src/lxc_driver.c:335 src/openvz_driver.c:603 src/qemu_driver.c:2897
-msgid "cannot delete active domain"
-msgstr ""
-
-#: src/lxc_driver.c:447
-msgid "failed to get bridge for interface"
-msgstr ""
-
-#: src/lxc_driver.c:461
-#, c-format
-msgid "failed to create veth device pair: %d"
-msgstr ""
-
-#: src/lxc_driver.c:473
-msgid "failed to allocate veth names"
-msgstr ""
-
-#: src/lxc_driver.c:479 src/qemu_conf.c:590 src/qemu_driver.c:1471
-#, c-format
-msgid "cannot initialize bridge support: %s"
-msgstr ""
-
-#: src/lxc_driver.c:486
-#, c-format
-msgid "failed to add %s device to %s: %s"
-msgstr ""
-
-#: src/lxc_driver.c:495
-#, c-format
-msgid "failed to enable parent ns veth device: %d"
-msgstr ""
-
-#: src/lxc_driver.c:525
-#, c-format
-msgid "failed to move interface %s to ns %d"
-msgstr ""
-
-#: src/lxc_driver.c:554
-#, c-format
-msgid "failed to delete veth: %s"
-msgstr ""
-
-#: src/lxc_driver.c:585
+#: src/lxc_container.c:183
 #, c-format
 msgid "unable to send container continue message: %s"
 msgstr ""
 
-#: src/lxc_driver.c:618
-msgid "unable to allocate container stack"
+#: src/lxc_container.c:213
+#, c-format
+msgid "Failed to read the container continue message: %s"
 msgstr ""
 
-#: src/lxc_driver.c:634
+#: src/lxc_container.c:276
+msgid "lxcChild() passed invalid vm definition"
+msgstr ""
+
+#: src/lxc_container.c:294
+#, c-format
+msgid "failed to mount %s at %s for container: %s"
+msgstr ""
+
+#: src/lxc_container.c:304
+#, c-format
+msgid "failed to mount /proc for container: %s"
+msgstr ""
+
+#: src/lxc_container.c:363
 #, c-format
 msgid "clone() failed, %s"
 msgstr ""
 
-#: src/lxc_driver.c:732
-msgid "unable to get storage for vm tty name"
-msgstr ""
-
-#: src/lxc_driver.c:776
-#, c-format
-msgid "posix_openpt failed: %s"
-msgstr ""
-
-#: src/lxc_driver.c:782
-#, c-format
-msgid "unlockpt failed: %s"
-msgstr ""
-
-#: src/lxc_driver.c:788
-#, c-format
-msgid "ptsname_r failed: %s"
-msgstr ""
-
-#: src/lxc_driver.c:794
-msgid "unable to allocate container name string"
-msgstr ""
-
-#: src/lxc_driver.c:833
+#: src/lxc_controller.c:72
 #, c-format
 msgid "read of fd %d failed: %s"
 msgstr ""
 
-#: src/lxc_driver.c:839
+#: src/lxc_controller.c:78
 #, c-format
 msgid "write to fd %d failed: %s"
 msgstr ""
 
-#: src/lxc_driver.c:887
+#: src/lxc_controller.c:129
 #, c-format
 msgid "epoll_create(2) failed: %s"
 msgstr ""
 
-#: src/lxc_driver.c:898
+#: src/lxc_controller.c:139
 #, c-format
-msgid "epoll_ctl(fd1) failed: %s"
+msgid "epoll_ctl(appPty) failed: %s"
 msgstr ""
 
-#: src/lxc_driver.c:905
+#: src/lxc_controller.c:145 src/lxc_controller.c:153 src/lxc_controller.c:161
+#: src/lxc_controller.c:181 src/lxc_controller.c:187
 #, c-format
-msgid "epoll_ctl(fd2) failed: %s"
+msgid "epoll_ctl(contPty) failed: %s"
 msgstr ""
 
-#: src/lxc_driver.c:926
+#: src/lxc_controller.c:204
 #, c-format
 msgid "error event %d"
 msgstr ""
 
-#: src/lxc_driver.c:947
+#: src/lxc_controller.c:225
 #, c-format
 msgid "epoll_wait() failed: %s"
 msgstr ""
 
-#: src/lxc_driver.c:1007
+#: src/lxc_controller.c:275
 #, c-format
-msgid "unable to fork tty forwarding process: %s"
+msgid "failed to move interface %s to ns %d"
 msgstr ""
 
-#: src/lxc_driver.c:1032
+#: src/lxc_controller.c:300
+#, c-format
+msgid "failed to delete veth: %s"
+msgstr ""
+
+#: src/lxc_controller.c:324
 #, c-format
 msgid "sockpair failed: %s"
 msgstr ""
 
-#: src/lxc_driver.c:1153 src/lxc_driver.c:1263
+#: src/lxc_controller.c:332 src/lxc_driver.c:690
 #, c-format
-msgid "no domain with id %d"
+msgid "failed to allocate tty: %s"
 msgstr ""
 
-#: src/lxc_driver.c:1160
+#: src/lxc_controller.c:399
 #, c-format
-msgid "sending SIGTERM failed: %s"
+msgid "Unexpected pid %d != %d from waitpid\n"
 msgstr ""
 
-#: src/lxc_driver.c:1198
+#: src/lxc_controller.c:408
+#, c-format
+msgid "Unexpected status %d from pid %d\n"
+msgstr ""
+
+#: src/lxc_controller.c:436
+#, c-format
+msgid "Unable to change to root dir: %s\n"
+msgstr ""
+
+#: src/lxc_controller.c:442
+#, c-format
+msgid "Unable to become session leader: %s\n"
+msgstr ""
+
+#: src/lxc_controller.c:448
+#, c-format
+msgid "Unable to open %s: %s\n"
+msgstr ""
+
+#: src/lxc_controller.c:464
+#, c-format
+msgid "Unable to redirect stdio: %s\n"
+msgstr ""
+
+#: src/lxc_controller.c:474
+#, c-format
+msgid "Unable to fork controller: %s\n"
+msgstr ""
+
+#: src/lxc_controller.c:481
+#, c-format
+msgid "Unable to write pid file: %s\n"
+msgstr ""
+
+#: src/lxc_controller.c:494
+#, c-format
+msgid "Failed connection from LXC driver: %s\n"
+msgstr ""
+
+#: src/lxc_driver.c:242 src/lxc_driver.c:793 src/lxc_driver.c:828
+msgid "System lacks NETNS support"
+msgstr ""
+
+#: src/lxc_driver.c:275 src/lxc_driver.c:310 src/lxc_driver.c:336
+#: src/lxc_driver.c:351 src/openvz_driver.c:250 src/openvz_driver.c:615
+#: src/openvz_driver.c:645 src/openvz_driver.c:666 src/openvz_driver.c:714
+#: src/qemu_driver.c:2178 src/qemu_driver.c:2265 src/qemu_driver.c:2814
+#: src/qemu_driver.c:2869 src/qemu_driver.c:2913 src/qemu_driver.c:2991
+#: src/qemu_driver.c:3024 src/qemu_driver.c:3066 src/qemu_driver.c:3116
+#: src/qemu_driver.c:3159 src/qemu_driver.c:3177 src/qemu_driver.c:3435
+msgid "no domain with matching uuid"
+msgstr ""
+
+#: src/lxc_driver.c:281 src/openvz_driver.c:620 src/qemu_driver.c:2919
+msgid "cannot delete active domain"
+msgstr ""
+
+#: src/lxc_driver.c:287 src/qemu_driver.c:2925
+msgid "cannot undefine transient domain"
+msgstr ""
+
+#: src/lxc_driver.c:386
 #, c-format
 msgid "waitpid failed to wait for container %d: %d %s"
 msgstr ""
 
-#: src/lxc_driver.c:1219
-#, c-format
-msgid "sending SIGKILL to tty process failed: %s"
+#: src/lxc_driver.c:458
+msgid "failed to get bridge for interface"
 msgstr ""
 
-#: src/lxc_driver.c:1231
+#: src/lxc_driver.c:469
 #, c-format
-msgid "waitpid failed to wait for tty %d: %d %s"
+msgid "failed to create veth device pair: %d"
 msgstr ""
 
-#: src/lxc_driver.c:1270
-#, c-format
-msgid "sending SIGKILL failed: %s"
+#: src/lxc_driver.c:482
+msgid "failed to allocate veth names"
 msgstr ""
 
-#: src/network_conf.c:291
+#: src/lxc_driver.c:488
+#, c-format
+msgid "failed to add %s device to %s: %s"
+msgstr ""
+
+#: src/lxc_driver.c:497
+#, c-format
+msgid "failed to enable parent ns veth device: %d"
+msgstr ""
+
+#: src/lxc_driver.c:526
+#, c-format
+msgid "failed to create server socket: %s"
+msgstr ""
+
+#: src/lxc_driver.c:538
+#, c-format
+msgid "failed to bind server socket: %s"
+msgstr ""
+
+#: src/lxc_driver.c:544
+#, c-format
+msgid "failed to listen server socket: %s"
+msgstr ""
+
+#: src/lxc_driver.c:576
+#, c-format
+msgid "failed to create client socket: %s"
+msgstr ""
+
+#: src/lxc_driver.c:587
+#, c-format
+msgid "failed to connect to client socket: %s"
+msgstr ""
+
+#: src/lxc_driver.c:614
+#, c-format
+msgid "failed to kill pid %d: %s"
+msgstr ""
+
+#: src/lxc_driver.c:673 src/qemu_driver.c:886
+#, c-format
+msgid "cannot create log directory %s: %s"
+msgstr ""
+
+#: src/lxc_driver.c:708
+#, c-format
+msgid "failed to open %s: %s"
+msgstr ""
+
+#: src/lxc_driver.c:731
+#, c-format
+msgid "Failed to read pid file %s/%s.pid: %s"
+msgstr ""
+
+#: src/lxc_driver.c:867 src/lxc_driver.c:890
+#, c-format
+msgid "no domain with id %d"
+msgstr ""
+
+#: src/network_conf.c:241
+#, c-format
+msgid "cannot parse MAC address '%s'"
+msgstr ""
+
+#: src/network_conf.c:248
+#, c-format
+msgid "cannot use name address '%s'"
+msgstr ""
+
+#: src/network_conf.c:264 src/network_conf.c:349
 #, c-format
 msgid "cannot parse IP address '%s'"
 msgstr ""
 
-#: src/network_conf.c:297
+#: src/network_conf.c:355
 #, c-format
 msgid "cannot parse netmask '%s'"
 msgstr ""
 
-#: src/network_conf.c:321
+#: src/network_conf.c:379
 msgid "Forwarding requested, but no IPv4 address/netmask provided"
 msgstr ""
 
-#: src/network_conf.c:329
+#: src/network_conf.c:387
 #, c-format
 msgid "unknown forwarding type '%s'"
 msgstr ""
 
-#: src/network_conf.c:661
+#: src/network_conf.c:658 src/qemu_driver.c:3202 src/qemu_driver.c:3835
+#: src/storage_driver.c:792
+#, c-format
+msgid "cannot create autostart directory %s: %s"
+msgstr ""
+
+#: src/network_conf.c:729
 #, c-format
 msgid "Network config filename '%s' does not match network name '%s'"
 msgstr ""
 
-#: src/openvz_conf.c:249
+#: src/network_conf.c:794 src/storage_conf.c:1217
+#, c-format
+msgid "no config file for %s"
+msgstr ""
+
+#: src/openvz_conf.c:247
 #, c-format
 msgid "Error already an active OPENVZ VM having id '%s'"
 msgstr ""
 
-#: src/openvz_conf.c:260
+#: src/openvz_conf.c:258
 msgid "vm"
 msgstr ""
 
-#: src/openvz_conf.c:316
+#: src/openvz_conf.c:314
 msgid "missing filesystem tag"
 msgstr ""
 
-#: src/openvz_conf.c:322
+#: src/openvz_conf.c:320
 msgid "There should be only one filesystem tag"
 msgstr ""
 
-#: src/openvz_conf.c:332
+#: src/openvz_conf.c:330
 msgid "missing type attribute"
 msgstr ""
 
-#: src/openvz_conf.c:338
+#: src/openvz_conf.c:336
 #, c-format
 msgid "Unknown type attribute %s"
 msgstr ""
 
-#: src/openvz_conf.c:397 src/openvz_conf.c:410 src/storage_conf.c:417
+#: src/openvz_conf.c:395 src/openvz_conf.c:408 src/storage_conf.c:417
 #: src/storage_conf.c:788
 msgid "xmlXPathContext"
 msgstr ""
 
-#: src/openvz_conf.c:422
+#: src/openvz_conf.c:420
 msgid "invalid domain type attribute"
 msgstr ""
 
-#: src/openvz_conf.c:431
+#: src/openvz_conf.c:429
 msgid "invalid domain name"
 msgstr ""
 
-#: src/openvz_conf.c:438
+#: src/openvz_conf.c:436
 msgid "VPS ID Error (must be an integer greater than 100"
 msgstr ""
 
-#: src/openvz_conf.c:471
+#: src/openvz_conf.c:469
 msgid "malformed filesystem tag"
 msgstr ""
 
-#: src/openvz_conf.c:523
+#: src/openvz_conf.c:522
 msgid "popen failed"
 msgstr ""
 
-#: src/openvz_conf.c:529 src/openvz_conf.c:557
+#: src/openvz_conf.c:528 src/openvz_conf.c:556
 msgid "calloc failed"
 msgstr ""
 
-#: src/openvz_conf.c:538
+#: src/openvz_conf.c:537
 msgid "Failed to parse vzlist output"
 msgstr ""
 
-#: src/openvz_conf.c:567
+#: src/openvz_conf.c:566
 msgid "UUID in config file malformed"
 msgstr ""
 
-#: src/openvz_driver.c:125
+#: src/openvz_conf.c:575
+#, c-format
+msgid "Cound not read config for container %d"
+msgstr ""
+
+#: src/openvz_driver.c:126
 msgid "Container is not defined"
 msgstr ""
 
-#: src/openvz_driver.c:163 src/openvz_driver.c:415
+#: src/openvz_driver.c:164 src/openvz_driver.c:416
 #, c-format
 msgid "Could not put argument to %s"
 msgstr ""
 
-#: src/openvz_driver.c:185 src/openvz_driver.c:213 src/openvz_driver.c:234
+#: src/openvz_driver.c:186 src/openvz_driver.c:214 src/openvz_driver.c:235
 msgid "virDomainPtr"
 msgstr ""
 
-#: src/openvz_driver.c:260
+#: src/openvz_driver.c:261
 #, c-format
 msgid "cannot read cputime for domain %d"
 msgstr ""
 
-#: src/openvz_driver.c:280 src/openvz_driver.c:312 src/openvz_driver.c:565
+#: src/openvz_driver.c:281 src/openvz_driver.c:313 src/openvz_driver.c:582
 msgid "no domain with matching id"
 msgstr ""
 
-#: src/openvz_driver.c:286 src/openvz_driver.c:318
+#: src/openvz_driver.c:287 src/openvz_driver.c:319
 msgid "domain is not in running state"
 msgstr ""
 
-#: src/openvz_driver.c:292 src/openvz_driver.c:324 src/openvz_driver.c:396
-#: src/openvz_driver.c:458 src/openvz_driver.c:519 src/openvz_driver.c:539
-#: src/openvz_driver.c:577 src/openvz_driver.c:609 src/openvz_driver.c:633
-#: src/openvz_driver.c:748 src/openvz_driver.c:785
+#: src/openvz_driver.c:293 src/openvz_driver.c:325 src/openvz_driver.c:397
+#: src/openvz_driver.c:458 src/openvz_driver.c:527 src/openvz_driver.c:547
+#: src/openvz_driver.c:594 src/openvz_driver.c:626 src/openvz_driver.c:650
+#: src/openvz_driver.c:720 src/openvz_driver.c:813 src/openvz_driver.c:850
 #, c-format
 msgid "Could not exec %s"
 msgstr ""
 
-#: src/openvz_driver.c:352
+#: src/openvz_driver.c:353
 msgid "Container ID is not specified"
 msgstr ""
 
-#: src/openvz_driver.c:438
+#: src/openvz_driver.c:439
 #, c-format
 msgid "Already an OPENVZ VM active with the id '%s'"
 msgstr ""
 
-#: src/openvz_driver.c:444 src/openvz_driver.c:507
+#: src/openvz_driver.c:445 src/openvz_driver.c:515
 msgid "Error creating OPENVZ VM"
 msgstr ""
 
-#: src/openvz_driver.c:449 src/openvz_driver.c:513
+#: src/openvz_driver.c:450 src/openvz_driver.c:521
 msgid "Error creating command for container"
 msgstr ""
 
-#: src/openvz_driver.c:464 src/openvz_driver.c:525
+#: src/openvz_driver.c:464 src/openvz_driver.c:533
 msgid "Could not set UUID"
 msgstr ""
 
-#: src/openvz_driver.c:474 src/openvz_driver.c:531
+#: src/openvz_driver.c:474 src/openvz_driver.c:539
 msgid "Could not configure network"
 msgstr ""
 
-#: src/openvz_driver.c:502
+#: src/openvz_driver.c:481 src/openvz_driver.c:563
+msgid "Could not set number of virtual cpu"
+msgstr ""
+
+#: src/openvz_driver.c:510
 #, c-format
 msgid "Already an OPENVZ VM defined with the id '%d'"
 msgstr ""
 
-#: src/openvz_driver.c:571
+#: src/openvz_driver.c:588
 msgid "domain is not in shutoff state"
 msgstr ""
 
-#: src/openvz_driver.c:654
-msgid "Cound not read container config"
+#: src/openvz_driver.c:671
+msgid "Could not read container config"
 msgstr ""
 
-#: src/openvz_driver.c:757 src/openvz_driver.c:794
+#: src/openvz_driver.c:687 src/qemu_driver.c:1809
+#, c-format
+msgid "unknown type '%s'"
+msgstr ""
+
+#: src/openvz_driver.c:708
+msgid "VCPUs should be >= 1"
+msgstr ""
+
+#: src/openvz_driver.c:822 src/openvz_driver.c:859
 #, c-format
 msgid "Could not parse VPS ID %s"
 msgstr ""
 
-#: src/proxy_internal.c:188
+#: src/proxy_internal.c:186
 #, c-format
 msgid "failed to exec %s\n"
 msgstr ""
 
-#: src/proxy_internal.c:282
+#: src/proxy_internal.c:280
 #, c-format
 msgid "Failed to close socket %d\n"
 msgstr ""
 
-#: src/proxy_internal.c:315
+#: src/proxy_internal.c:313
 #, c-format
 msgid "Failed to read socket %d\n"
 msgstr ""
 
-#: src/proxy_internal.c:342
+#: src/proxy_internal.c:340
 #, c-format
 msgid "Failed to write to socket %d\n"
 msgstr ""
 
-#: src/proxy_internal.c:434 src/proxy_internal.c:455 src/proxy_internal.c:475
+#: src/proxy_internal.c:432 src/proxy_internal.c:453 src/proxy_internal.c:473
 #, c-format
 msgid "Communication error with proxy: got %d bytes of %d\n"
 msgstr ""
 
-#: src/proxy_internal.c:442
+#: src/proxy_internal.c:440
 #, c-format
 msgid "Communication error with proxy: expected %d bytes got %d\n"
 msgstr ""
 
-#: src/proxy_internal.c:464
+#: src/proxy_internal.c:462
 #, c-format
 msgid "Communication error with proxy: got %d bytes packet\n"
 msgstr ""
 
-#: src/proxy_internal.c:488
+#: src/proxy_internal.c:486
 msgid "Communication error with proxy: malformed packet\n"
 msgstr ""
 
-#: src/proxy_internal.c:494
+#: src/proxy_internal.c:492
 #, c-format
 msgid "got asynchronous packet number %d\n"
 msgstr ""
 
-#: src/qemu_conf.c:93
+#: src/qemu_conf.c:91
 msgid "failed to allocate vncListen"
 msgstr ""
 
-#: src/qemu_conf.c:98 src/qemu_conf.c:133 src/qemu_conf.c:144
+#: src/qemu_conf.c:96 src/qemu_conf.c:131 src/qemu_conf.c:142
 msgid "failed to allocate vncTLSx509certdir"
 msgstr ""
 
-#: src/qemu_conf.c:495
+#: src/qemu_conf.c:493
 #, c-format
 msgid "Unexpected exit status from qemu %d pid %lu"
 msgstr ""
 
-#: src/qemu_conf.c:504
+#: src/qemu_conf.c:502
 #, c-format
 msgid "Unexpected exit status '%d', qemu probably failed"
 msgstr ""
 
-#: src/qemu_conf.c:529 src/qemu_driver.c:915
+#: src/qemu_conf.c:527 src/qemu_driver.c:913
 #, c-format
 msgid "Cannot find QEMU binary %s: %s"
 msgstr ""
 
-#: src/qemu_conf.c:560
+#: src/qemu_conf.c:558
 #, c-format
 msgid "Network '%s' not found"
 msgstr ""
 
-#: src/qemu_conf.c:565
+#: src/qemu_conf.c:563
 #, c-format
 msgid "Network '%s' not active"
 msgstr ""
 
-#: src/qemu_conf.c:574
+#: src/qemu_conf.c:572
 #, c-format
 msgid "Network type %d is not supported"
 msgstr ""
 
-#: src/qemu_conf.c:600
+#: src/qemu_conf.c:588 src/qemu_driver.c:1493
+#, c-format
+msgid "cannot initialize bridge support: %s"
+msgstr ""
+
+#: src/qemu_conf.c:598
 #, c-format
 msgid "Failed to add tap interface to bridge. %s is not a bridge device"
 msgstr ""
 
-#: src/qemu_conf.c:604
+#: src/qemu_conf.c:602
 #, c-format
 msgid "Failed to add tap interface '%s' to bridge '%s' : %s"
 msgstr ""
 
-#: src/qemu_conf.c:627
+#: src/qemu_conf.c:625
 msgid "failed to allocate space for tapfds string"
 msgstr ""
 
-#: src/qemu_conf.c:902 src/qemu_conf.c:953
+#: src/qemu_conf.c:907 src/qemu_conf.c:958
 #, c-format
 msgid "unsupported usb disk type for '%s'"
 msgstr ""
 
-#: src/qemu_conf.c:911 src/qemu_conf.c:974
+#: src/qemu_conf.c:916 src/qemu_conf.c:979
 #, c-format
 msgid "unsupported disk type '%s'"
 msgstr ""
 
-#: src/qemu_conf.c:1178
+#: src/qemu_conf.c:1183
 msgid "invalid sound model"
 msgstr ""
 
-#: src/qemu_conf.c:1231
+#: src/qemu_conf.c:1236
 msgid "failed to allocate space for argv string"
 msgstr ""
 
-#: src/qemu_driver.c:91
+#: src/qemu_driver.c:89
 msgid "Failed to set close-on-exec file descriptor flag\n"
 msgstr ""
 
-#: src/qemu_driver.c:106
+#: src/qemu_driver.c:104
 msgid "Failed to set non-blocking file descriptor flag\n"
 msgstr ""
 
-#: src/qemu_driver.c:151
+#: src/qemu_driver.c:149
 #, c-format
 msgid "Failed to autostart network '%s': %s\n"
 msgstr ""
 
-#: src/qemu_driver.c:166
+#: src/qemu_driver.c:164
 #, c-format
 msgid "Failed to autostart VM '%s': %s\n"
 msgstr ""
 
-#: src/qemu_driver.c:202
+#: src/qemu_driver.c:200
 #, c-format
 msgid "Failed to find user record for uid '%d': %s\n"
 msgstr ""
 
-#: src/qemu_driver.c:213
+#: src/qemu_driver.c:211
 msgid "out of memory in asprintf\n"
 msgstr ""
 
-#: src/qemu_driver.c:269
+#: src/qemu_driver.c:267
 msgid "qemudStartup: out of memory\n"
 msgstr ""
 
-#: src/qemu_driver.c:296
+#: src/qemu_driver.c:294
 msgid "Reloading iptables rules\n"
 msgstr ""
 
-#: src/qemu_driver.c:433
+#: src/qemu_driver.c:431
 #, c-format
 msgid ""
 "QEMU quit during %s startup\n"
 "%s"
 msgstr ""
 
-#: src/qemu_driver.c:443 src/qemu_driver.c:456
+#: src/qemu_driver.c:441 src/qemu_driver.c:454
 #, c-format
 msgid "Failure while reading %s startup output: %s"
 msgstr ""
 
-#: src/qemu_driver.c:451
+#: src/qemu_driver.c:449
 #, c-format
 msgid "Timed out while reading %s startup output"
 msgstr ""
 
-#: src/qemu_driver.c:467
+#: src/qemu_driver.c:465
 #, c-format
 msgid "Failure while reading %s startup output"
 msgstr ""
 
-#: src/qemu_driver.c:479
+#: src/qemu_driver.c:477
 #, c-format
 msgid "Out of space while reading %s startup output"
 msgstr ""
 
-#: src/qemu_driver.c:510
+#: src/qemu_driver.c:508
 #, c-format
 msgid "Unable to open monitor path %s"
 msgstr ""
 
-#: src/qemu_driver.c:515
+#: src/qemu_driver.c:513
 msgid "Unable to set monitor close-on-exec flag"
 msgstr ""
 
-#: src/qemu_driver.c:520
+#: src/qemu_driver.c:518
 msgid "Unable to put monitor into non-blocking mode"
 msgstr ""
 
-#: src/qemu_driver.c:648 src/qemu_driver.c:1010 src/qemu_driver.c:1690
-#: src/qemu_driver.c:1700
+#: src/qemu_driver.c:646 src/qemu_driver.c:1012 src/qemu_driver.c:1712
+#: src/qemu_driver.c:1722
 #, c-format
 msgid "Unable to log VM console data: %s\n"
 msgstr ""
 
-#: src/qemu_driver.c:671
+#: src/qemu_driver.c:669
 msgid "allocate cpumap"
 msgstr ""
 
-#: src/qemu_driver.c:682
+#: src/qemu_driver.c:680
 msgid "cannot run monitor command to fetch CPU thread info"
 msgstr ""
 
-#: src/qemu_driver.c:786
+#: src/qemu_driver.c:784
 #, c-format
 msgid "failed to set CPU affinity %s"
 msgstr ""
 
-#: src/qemu_driver.c:796 src/qemu_driver.c:2099
+#: src/qemu_driver.c:794 src/qemu_driver.c:2121
 msgid "resume operation failed"
 msgstr ""
 
-#: src/qemu_driver.c:855
+#: src/qemu_driver.c:853
 msgid "VM is already active"
 msgstr ""
 
-#: src/qemu_driver.c:865
+#: src/qemu_driver.c:863
 msgid "Unable to find an unused VNC port"
 msgstr ""
 
-#: src/qemu_driver.c:877
+#: src/qemu_driver.c:875
 #, c-format
 msgid "config file path too long: %s/%s.log"
 msgstr ""
 
-#: src/qemu_driver.c:888
-#, c-format
-msgid "cannot create log directory %s: %s"
-msgstr ""
-
-#: src/qemu_driver.c:896
+#: src/qemu_driver.c:894
 #, c-format
 msgid "failed to create logfile %s: %s"
 msgstr ""
 
-#: src/qemu_driver.c:902
+#: src/qemu_driver.c:900
 #, c-format
 msgid "Unable to set VM logfile close-on-exec flag %s"
 msgstr ""
 
-#: src/qemu_driver.c:925
+#: src/qemu_driver.c:923
 #, c-format
 msgid "Cannot determine QEMU argv syntax %s"
 msgstr ""
 
-#: src/qemu_driver.c:941 src/qemu_driver.c:944 src/qemu_driver.c:949
+#: src/qemu_driver.c:939 src/qemu_driver.c:942 src/qemu_driver.c:947
 #, c-format
 msgid "Unable to write argv to logfile %d: %s\n"
 msgstr ""
 
-#: src/qemu_driver.c:1024
+#: src/qemu_driver.c:1026
 #, c-format
 msgid "Shutting down VM '%s'\n"
 msgstr ""
 
-#: src/qemu_driver.c:1035
+#: src/qemu_driver.c:1037
 #, c-format
 msgid "Unable to close logfile %d: %s\n"
 msgstr ""
 
-#: src/qemu_driver.c:1050
+#: src/qemu_driver.c:1052
 msgid "Got unexpected pid, damn\n"
 msgstr ""
 
-#: src/qemu_driver.c:1178
+#: src/qemu_driver.c:1200
 msgid "failed to allocate space for dnsmasq argv"
 msgstr ""
 
-#: src/qemu_driver.c:1192
+#: src/qemu_driver.c:1214
 msgid "cannot start dhcp daemon without IP address for server"
 msgstr ""
 
-#: src/qemu_driver.c:1220
+#: src/qemu_driver.c:1242
 #, c-format
 msgid "failed to add iptables rule to allow forwarding from '%s' : %s\n"
 msgstr ""
 
-#: src/qemu_driver.c:1231
+#: src/qemu_driver.c:1253
 #, c-format
 msgid "failed to add iptables rule to allow forwarding to '%s' : %s\n"
 msgstr ""
 
-#: src/qemu_driver.c:1241
+#: src/qemu_driver.c:1263
 #, c-format
 msgid "failed to add iptables rule to enable masquerading : %s\n"
 msgstr ""
 
-#: src/qemu_driver.c:1273
+#: src/qemu_driver.c:1295
 #, c-format
 msgid "failed to add iptables rule to allow routing from '%s' : %s\n"
 msgstr ""
 
-#: src/qemu_driver.c:1284
+#: src/qemu_driver.c:1306
 #, c-format
 msgid "failed to add iptables rule to allow routing to '%s' : %s\n"
 msgstr ""
 
-#: src/qemu_driver.c:1309
+#: src/qemu_driver.c:1331
 msgid "failed to allocate space for IP tables support"
 msgstr ""
 
-#: src/qemu_driver.c:1317 src/qemu_driver.c:1324
+#: src/qemu_driver.c:1339 src/qemu_driver.c:1346
 #, c-format
 msgid "failed to add iptables rule to allow DHCP requests from '%s' : %s"
 msgstr ""
 
-#: src/qemu_driver.c:1332 src/qemu_driver.c:1339
+#: src/qemu_driver.c:1354 src/qemu_driver.c:1361
 #, c-format
 msgid "failed to add iptables rule to allow DNS requests from '%s' : %s"
 msgstr ""
 
-#: src/qemu_driver.c:1349
+#: src/qemu_driver.c:1371
 #, c-format
 msgid "failed to add iptables rule to block outbound traffic from '%s' : %s"
 msgstr ""
 
-#: src/qemu_driver.c:1356
+#: src/qemu_driver.c:1378
 #, c-format
 msgid "failed to add iptables rule to block inbound traffic to '%s' : %s"
 msgstr ""
 
-#: src/qemu_driver.c:1364
+#: src/qemu_driver.c:1386
 #, c-format
 msgid "failed to add iptables rule to allow cross bridge traffic on '%s' : %s"
 msgstr ""
 
-#: src/qemu_driver.c:1465
+#: src/qemu_driver.c:1487
 msgid "network is already active"
 msgstr ""
 
-#: src/qemu_driver.c:1477
+#: src/qemu_driver.c:1499
 #, c-format
 msgid "cannot create bridge '%s' : %s"
 msgstr ""
 
-#: src/qemu_driver.c:1485
+#: src/qemu_driver.c:1507
 #, c-format
 msgid "failed to set bridge forward delay to %ld"
 msgstr ""
 
-#: src/qemu_driver.c:1492
+#: src/qemu_driver.c:1514
 #, c-format
 msgid "failed to set bridge STP to %s"
 msgstr ""
 
-#: src/qemu_driver.c:1500
+#: src/qemu_driver.c:1522
 #, c-format
 msgid "cannot set IP address on bridge '%s' to '%s' : %s"
 msgstr ""
 
-#: src/qemu_driver.c:1508
+#: src/qemu_driver.c:1530
 #, c-format
 msgid "cannot set netmask on bridge '%s' to '%s' : %s"
 msgstr ""
 
-#: src/qemu_driver.c:1516
+#: src/qemu_driver.c:1538
 #, c-format
 msgid "failed to bring the bridge '%s' up : %s"
 msgstr ""
 
-#: src/qemu_driver.c:1527
+#: src/qemu_driver.c:1549
 #, c-format
 msgid "failed to enable IP forwarding : %s"
 msgstr ""
 
-#: src/qemu_driver.c:1545 src/qemu_driver.c:1576
+#: src/qemu_driver.c:1567 src/qemu_driver.c:1598
 #, c-format
 msgid "Failed to bring down bridge '%s' : %s\n"
 msgstr ""
 
-#: src/qemu_driver.c:1551 src/qemu_driver.c:1581
+#: src/qemu_driver.c:1573 src/qemu_driver.c:1603
 #, c-format
 msgid "Failed to delete bridge '%s' : %s\n"
 msgstr ""
 
-#: src/qemu_driver.c:1564
+#: src/qemu_driver.c:1586
 #, c-format
 msgid "Shutting down network '%s'\n"
 msgstr ""
 
-#: src/qemu_driver.c:1590
+#: src/qemu_driver.c:1612
 msgid "Got unexpected pid for dnsmasq\n"
 msgstr ""
 
-#: src/qemu_driver.c:1787
-#, c-format
-msgid "unknown type '%s'"
-msgstr ""
-
-#: src/qemu_driver.c:1803
+#: src/qemu_driver.c:1825
 msgid "failed to allocate space for capabilities support"
 msgstr ""
 
-#: src/qemu_driver.c:1822 src/qemu_driver.c:1848
+#: src/qemu_driver.c:1844 src/qemu_driver.c:1870
 msgid "NUMA not supported on this host"
 msgstr ""
 
-#: src/qemu_driver.c:1833 src/qemu_driver.c:1856
+#: src/qemu_driver.c:1855 src/qemu_driver.c:1878
 msgid "Failed to query NUMA free memory"
 msgstr ""
 
-#: src/qemu_driver.c:2017
+#: src/qemu_driver.c:2039
 #, c-format
 msgid "domain '%s' is already defined"
 msgstr ""
 
-#: src/qemu_driver.c:2028
+#: src/qemu_driver.c:2050
 #, c-format
 msgid "domain with uuid '%s' is already defined"
 msgstr ""
 
-#: src/qemu_driver.c:2058 src/qemu_driver.c:2087 src/qemu_driver.c:2116
-#: src/qemu_driver.c:2136 src/qemu_driver.c:2374 src/qemu_driver.c:3205
-#: src/qemu_driver.c:3340 src/qemu_driver.c:3454
+#: src/qemu_driver.c:2080 src/qemu_driver.c:2109 src/qemu_driver.c:2138
+#: src/qemu_driver.c:2158 src/qemu_driver.c:2396 src/qemu_driver.c:3251
+#: src/qemu_driver.c:3386 src/qemu_driver.c:3500
 #, c-format
 msgid "no domain with matching id %d"
 msgstr ""
 
-#: src/qemu_driver.c:2063 src/qemu_driver.c:2092 src/qemu_driver.c:2380
-#: src/qemu_driver.c:3210 src/qemu_driver.c:3346 src/qemu_driver.c:3460
+#: src/qemu_driver.c:2085 src/qemu_driver.c:2114 src/qemu_driver.c:2402
+#: src/qemu_driver.c:3256 src/qemu_driver.c:3392 src/qemu_driver.c:3506
 msgid "domain is not running"
 msgstr ""
 
-#: src/qemu_driver.c:2071
+#: src/qemu_driver.c:2093
 msgid "suspend operation failed"
 msgstr ""
 
-#: src/qemu_driver.c:2122
+#: src/qemu_driver.c:2144
 msgid "shutdown operation failed"
 msgstr ""
 
-#: src/qemu_driver.c:2162
+#: src/qemu_driver.c:2184
 msgid "failed to allocate space for ostype"
 msgstr ""
 
-#: src/qemu_driver.c:2178 src/qemu_driver.c:2194 src/qemu_driver.c:2217
-#: src/qemu_driver.c:2490 src/qemu_driver.c:2652
+#: src/qemu_driver.c:2200 src/qemu_driver.c:2216 src/qemu_driver.c:2239
+#: src/qemu_driver.c:2512 src/qemu_driver.c:2674
 #, c-format
 msgid "no domain with matching uuid '%s'"
 msgstr ""
 
-#: src/qemu_driver.c:2200
+#: src/qemu_driver.c:2222
 msgid "cannot set max memory lower than current memory"
 msgstr ""
 
-#: src/qemu_driver.c:2223
+#: src/qemu_driver.c:2245
 msgid "cannot set memory of an active domain"
 msgstr ""
 
-#: src/qemu_driver.c:2229
+#: src/qemu_driver.c:2251
 msgid "cannot set memory higher than max memory"
 msgstr ""
 
-#: src/qemu_driver.c:2389
+#: src/qemu_driver.c:2411
 msgid "failed to pause domain"
 msgstr ""
 
-#: src/qemu_driver.c:2398
+#: src/qemu_driver.c:2420
 msgid "failed to get domain xml"
 msgstr ""
 
-#: src/qemu_driver.c:2406
+#: src/qemu_driver.c:2428
 #, c-format
 msgid "failed to create '%s'"
 msgstr ""
 
-#: src/qemu_driver.c:2413
+#: src/qemu_driver.c:2435
 msgid "failed to write save header"
 msgstr ""
 
-#: src/qemu_driver.c:2421
+#: src/qemu_driver.c:2443
 msgid "failed to write xml"
 msgstr ""
 
-#: src/qemu_driver.c:2434 src/qemu_driver.c:2441 src/qemu_driver.c:2712
-#: src/qemu_driver.c:2921 src/qemu_driver.c:2929 src/qemu_driver.c:2937
+#: src/qemu_driver.c:2456 src/qemu_driver.c:2463 src/qemu_driver.c:2734
+#: src/qemu_driver.c:2949 src/qemu_driver.c:2957 src/qemu_driver.c:2965
 #: src/remote_internal.c:2281 src/virterror.c:441
 msgid "out of memory"
 msgstr ""
 
-#: src/qemu_driver.c:2449
+#: src/qemu_driver.c:2471
 msgid "migrate operation failed"
 msgstr ""
 
-#: src/qemu_driver.c:2461
+#: src/qemu_driver.c:2483
 msgid "'migrate' not supported by this qemu"
 msgstr ""
 
-#: src/qemu_driver.c:2496
+#: src/qemu_driver.c:2518
 msgid "cannot change vcpu count of an active domain"
 msgstr ""
 
-#: src/qemu_driver.c:2502
+#: src/qemu_driver.c:2524
 msgid "could not determine max vcpus for the domain"
 msgstr ""
 
-#: src/qemu_driver.c:2508
+#: src/qemu_driver.c:2530
 #, c-format
 msgid ""
 "requested vcpus is greater than max allowable vcpus for the domain: %d > %d"
 msgstr ""
 
-#: src/qemu_driver.c:2532 src/qemu_driver.c:2584
+#: src/qemu_driver.c:2554 src/qemu_driver.c:2606
 msgid "cannot pin vcpus on an inactive domain"
 msgstr ""
 
-#: src/qemu_driver.c:2538
+#: src/qemu_driver.c:2560
 #, c-format
 msgid "vcpu number out of range %d > %d"
 msgstr ""
 
-#: src/qemu_driver.c:2559
+#: src/qemu_driver.c:2581
 #, c-format
 msgid "cannot set affinity: %s"
 msgstr ""
 
-#: src/qemu_driver.c:2564
+#: src/qemu_driver.c:2586
 msgid "cpu affinity is not supported"
 msgstr ""
 
-#: src/qemu_driver.c:2621
+#: src/qemu_driver.c:2643
 #, c-format
 msgid "cannot get affinity: %s"
 msgstr ""
 
-#: src/qemu_driver.c:2631
+#: src/qemu_driver.c:2653
 msgid "cpu affinity is not available"
 msgstr ""
 
-#: src/qemu_driver.c:2658
+#: src/qemu_driver.c:2680
 #, c-format
 msgid "unknown virt type in domain definition '%d'"
 msgstr ""
 
-#: src/qemu_driver.c:2684 src/test.c:960
+#: src/qemu_driver.c:2706 src/test.c:956
 msgid "cannot read domain image"
 msgstr ""
 
-#: src/qemu_driver.c:2690
+#: src/qemu_driver.c:2712
 msgid "failed to read qemu header"
 msgstr ""
 
-#: src/qemu_driver.c:2697
+#: src/qemu_driver.c:2719
 msgid "image magic is incorrect"
 msgstr ""
 
-#: src/qemu_driver.c:2704
+#: src/qemu_driver.c:2726
 #, c-format
 msgid "image version is not supported (%d > %d)"
 msgstr ""
 
-#: src/qemu_driver.c:2719
+#: src/qemu_driver.c:2741
 msgid "failed to read XML"
 msgstr ""
 
-#: src/qemu_driver.c:2728
+#: src/qemu_driver.c:2750
 msgid "failed to parse XML"
 msgstr ""
 
-#: src/qemu_driver.c:2741
+#: src/qemu_driver.c:2763
 #, c-format
 msgid "domain is already active as '%s'"
 msgstr ""
 
-#: src/qemu_driver.c:2750
+#: src/qemu_driver.c:2772
 msgid "failed to assign new VM"
 msgstr ""
 
-#: src/qemu_driver.c:2763
+#: src/qemu_driver.c:2785
 msgid "failed to start VM"
 msgstr ""
 
-#: src/qemu_driver.c:2775
+#: src/qemu_driver.c:2797
 msgid "failed to resume domain"
 msgstr ""
 
-#: src/qemu_driver.c:2812 src/qemu_driver.c:3563 src/qemu_driver.c:3598
+#: src/qemu_driver.c:2834 src/qemu_driver.c:3609 src/qemu_driver.c:3644
 msgid "failed to allocate space for VM name string"
 msgstr ""
 
-#: src/qemu_driver.c:2943
+#: src/qemu_driver.c:2971
 msgid "cannot change cdrom media"
 msgstr ""
 
-#: src/qemu_driver.c:2977
+#: src/qemu_driver.c:3005
 msgid "CDROM not attached, cannot change media"
 msgstr ""
 
-#: src/qemu_driver.c:3008 src/qemu_driver.c:3058
+#: src/qemu_driver.c:3036 src/qemu_driver.c:3086
 msgid "cannot attach usb device"
 msgstr ""
 
-#: src/qemu_driver.c:3019 src/qemu_driver.c:3069
+#: src/qemu_driver.c:3047 src/qemu_driver.c:3097
 msgid "adding usb device failed"
 msgstr ""
 
-#: src/qemu_driver.c:3094
+#: src/qemu_driver.c:3122
 msgid "cannot attach device on inactive domain"
 msgstr ""
 
-#: src/qemu_driver.c:3116
-msgid "this devicetype cannnot be attached"
+#: src/qemu_driver.c:3144
+msgid "this devicetype cannot be attached"
 msgstr ""
 
-#: src/qemu_driver.c:3168 src/qemu_driver.c:3796 src/storage_driver.c:799
+#: src/qemu_driver.c:3183
+msgid "cannot set autostart for transient domain"
+msgstr ""
+
+#: src/qemu_driver.c:3209
 #, c-format
-msgid "Failed to create symlink '%s' to '%s': %s"
+msgid "Failed to create symlink '%s to '%s': %s"
 msgstr ""
 
-#: src/qemu_driver.c:3175 src/qemu_driver.c:3803 src/storage_driver.c:808
+#: src/qemu_driver.c:3216 src/qemu_driver.c:3849 src/storage_driver.c:808
 #, c-format
 msgid "Failed to delete symlink '%s': %s"
 msgstr ""
 
-#: src/qemu_driver.c:3232
+#: src/qemu_driver.c:3278
 #, c-format
 msgid "invalid path: %s"
 msgstr ""
 
-#: src/qemu_driver.c:3240 src/qemu_driver.c:3475
+#: src/qemu_driver.c:3286 src/qemu_driver.c:3521
 msgid "'info blockstats' command failed"
 msgstr ""
 
-#: src/qemu_driver.c:3255
+#: src/qemu_driver.c:3301
 msgid "'info blockstats' not supported by this qemu"
 msgstr ""
 
-#: src/qemu_driver.c:3320
+#: src/qemu_driver.c:3366
 #, c-format
 msgid "device not found: %s (%s)"
 msgstr ""
 
-#: src/qemu_driver.c:3352 src/qemu_driver.c:3395
+#: src/qemu_driver.c:3398 src/qemu_driver.c:3441
 msgid "NULL or empty path"
 msgstr ""
 
-#: src/qemu_driver.c:3363
+#: src/qemu_driver.c:3409
 #, c-format
 msgid "invalid path, '%s' is not a known interface"
 msgstr ""
 
-#: src/qemu_driver.c:3405
+#: src/qemu_driver.c:3451
 msgid "invalid path"
 msgstr ""
 
-#: src/qemu_driver.c:3448
+#: src/qemu_driver.c:3494
 msgid "QEMU driver only supports virtual memory addrs"
 msgstr ""
 
-#: src/qemu_driver.c:3504 src/qemu_driver.c:3672 src/qemu_driver.c:3697
-#: src/qemu_driver.c:3711 src/qemu_driver.c:3726 src/qemu_driver.c:3759
-#: src/qemu_driver.c:3775
+#: src/qemu_driver.c:3550 src/qemu_driver.c:3718 src/qemu_driver.c:3743
+#: src/qemu_driver.c:3757 src/qemu_driver.c:3772 src/qemu_driver.c:3805
+#: src/qemu_driver.c:3821
 msgid "no network with matching uuid"
 msgstr ""
 
-#: src/qemu_driver.c:3519
+#: src/qemu_driver.c:3565
 msgid "no network with matching name"
 msgstr ""
 
-#: src/qemu_driver.c:3678
+#: src/qemu_driver.c:3724
 msgid "network is still active"
 msgstr ""
 
-#: src/qemu_driver.c:3739
+#: src/qemu_driver.c:3785
 msgid "no network with matching id"
 msgstr ""
 
-#: src/qemu_driver.c:3746
+#: src/qemu_driver.c:3792
 msgid "failed to allocate space for network bridge string"
 msgstr ""
 
+#: src/qemu_driver.c:3842 src/storage_driver.c:799
+#, c-format
+msgid "Failed to create symlink '%s' to '%s': %s"
+msgstr ""
+
 #: src/remote_internal.c:108 src/remote_internal.c:116
 msgid "tried to use a closed or uninitialised handle"
 msgstr ""
@@ -3031,6 +2932,7 @@ msgstr ""
 #: src/storage_backend_fs.c:711 src/storage_backend_iscsi.c:177
 #: src/storage_backend_logical.c:116 src/storage_backend_logical.c:121
 #: src/storage_backend_logical.c:133 src/storage_backend_logical.c:143
+#: src/storage_backend_logical.c:462
 msgid "volume"
 msgstr ""
 
@@ -3051,11 +2953,11 @@ msgstr ""
 msgid "extents"
 msgstr ""
 
-#: src/storage_backend_disk.c:461
+#: src/storage_backend_disk.c:464
 msgid "no large enough free extent"
 msgstr ""
 
-#: src/storage_backend_disk.c:495
+#: src/storage_backend_disk.c:498
 msgid "Disk pools are not yet supported"
 msgstr ""
 
@@ -3139,7 +3041,7 @@ msgid "cannot extend file '%s': %s"
 msgstr ""
 
 #: src/storage_backend_fs.c:914 src/storage_backend_fs.c:950
-#: src/storage_backend_fs.c:985 src/storage_backend_logical.c:461
+#: src/storage_backend_fs.c:985 src/storage_backend_logical.c:474
 #, c-format
 msgid "cannot read path '%s': %s"
 msgstr ""
@@ -3158,17 +3060,17 @@ msgstr ""
 msgid "creation of non-raw images is not supported without qemu-img"
 msgstr ""
 
-#: src/storage_backend_fs.c:1002 src/storage_backend_logical.c:470
+#: src/storage_backend_fs.c:1002 src/storage_backend_logical.c:483
 #, c-format
 msgid "cannot set file owner '%s': %s"
 msgstr ""
 
-#: src/storage_backend_fs.c:1011 src/storage_backend_logical.c:477
+#: src/storage_backend_fs.c:1011 src/storage_backend_logical.c:490
 #, c-format
 msgid "cannot set file mode '%s': %s"
 msgstr ""
 
-#: src/storage_backend_fs.c:1027 src/storage_backend_logical.c:484
+#: src/storage_backend_fs.c:1027 src/storage_backend_logical.c:497
 #, c-format
 msgid "cannot close file '%s': %s"
 msgstr ""
@@ -3209,7 +3111,7 @@ msgstr ""
 msgid "devpath"
 msgstr ""
 
-#: src/storage_backend_iscsi.c:206 src/util.c:113
+#: src/storage_backend_iscsi.c:206 src/util.c:160
 #, c-format
 msgid "cannot open %s: %s"
 msgstr ""
@@ -3297,7 +3199,7 @@ msgstr ""
 msgid "cannot close device %s"
 msgstr ""
 
-#: src/storage_backend_logical.c:493
+#: src/storage_backend_logical.c:506
 #, c-format
 msgid "cannot find newly created volume '%s': %s"
 msgstr ""
@@ -3400,6 +3302,10 @@ msgstr ""
 msgid "pool"
 msgstr ""
 
+#: src/storage_conf.c:1146
+msgid "cannot construct config file path"
+msgstr ""
+
 #: src/storage_conf.c:1151
 msgid "configFile"
 msgstr ""
@@ -3416,6 +3322,11 @@ msgstr ""
 msgid "failed to generate XML"
 msgstr ""
 
+#: src/storage_conf.c:1223
+#, c-format
+msgid "cannot remove config for %s"
+msgstr ""
+
 #: src/storage_driver.c:266 src/storage_driver.c:750 src/storage_driver.c:772
 msgid "no pool with matching uuid"
 msgstr ""
@@ -3498,163 +3409,208 @@ msgstr ""
 msgid "storage pool does not support vol deletion"
 msgstr ""
 
-#: src/test.c:235 src/test.c:878
+#: src/test.c:231 src/test.c:874
 msgid "getting time of day"
 msgstr ""
 
-#: src/test.c:333
+#: src/test.c:329
 msgid "loading host definition file"
 msgstr ""
 
-#: src/test.c:340
+#: src/test.c:336
 msgid "host"
 msgstr ""
 
-#: src/test.c:348
+#: src/test.c:344
 msgid "node"
 msgstr ""
 
-#: src/test.c:354
+#: src/test.c:350
 msgid "creating xpath context"
 msgstr ""
 
-#: src/test.c:369
+#: src/test.c:365
 msgid "node cpu numa nodes"
 msgstr ""
 
-#: src/test.c:377
+#: src/test.c:373
 msgid "node cpu sockets"
 msgstr ""
 
-#: src/test.c:385
+#: src/test.c:381
 msgid "node cpu cores"
 msgstr ""
 
-#: src/test.c:393
+#: src/test.c:389
 msgid "node cpu threads"
 msgstr ""
 
-#: src/test.c:404
+#: src/test.c:400
 msgid "node active cpu"
 msgstr ""
 
-#: src/test.c:411
+#: src/test.c:407
 msgid "node cpu mhz"
 msgstr ""
 
-#: src/test.c:426
+#: src/test.c:422
 msgid "node memory"
 msgstr ""
 
-#: src/test.c:432
+#: src/test.c:428
 msgid "node domain list"
 msgstr ""
 
-#: src/test.c:443
+#: src/test.c:439
 msgid "resolving domain filename"
 msgstr ""
 
-#: src/test.c:469
+#: src/test.c:465
 msgid "node network list"
 msgstr ""
 
-#: src/test.c:479
+#: src/test.c:475
 msgid "resolving network filename"
 msgstr ""
 
-#: src/test.c:557
+#: src/test.c:553
 msgid "testOpen: supply a path or use test:///default"
 msgstr ""
 
-#: src/test.c:794
+#: src/test.c:790
 msgid "domain not paused"
 msgstr ""
 
-#: src/test.c:809
+#: src/test.c:805
 msgid "domain not running"
 msgstr ""
 
-#: src/test.c:904
+#: src/test.c:900
 msgid "cannot allocate space for metadata"
 msgstr ""
 
-#: src/test.c:910
+#: src/test.c:906
 msgid "cannot save domain"
 msgstr ""
 
-#: src/test.c:916 src/test.c:1030
+#: src/test.c:912 src/test.c:1026
 msgid "cannot write header"
 msgstr ""
 
-#: src/test.c:922
+#: src/test.c:918
 msgid "cannot write metadata length"
 msgstr ""
 
-#: src/test.c:928
+#: src/test.c:924
 msgid "cannot write metadata"
 msgstr ""
 
-#: src/test.c:936 src/test.c:1036
+#: src/test.c:932 src/test.c:1032
 msgid "cannot save domain data"
 msgstr ""
 
-#: src/test.c:965
+#: src/test.c:961
 msgid "incomplete save header"
 msgstr ""
 
-#: src/test.c:971
+#: src/test.c:967
 msgid "mismatched header magic"
 msgstr ""
 
-#: src/test.c:977
+#: src/test.c:973
 msgid "failed to read metadata length"
 msgstr ""
 
-#: src/test.c:983
+#: src/test.c:979
 msgid "length of metadata out of range"
 msgstr ""
 
-#: src/test.c:994
+#: src/test.c:990
 msgid "incomplete metdata"
 msgstr ""
 
-#: src/test.c:1025
+#: src/test.c:1021
 msgid "cannot save domain core"
 msgstr ""
 
-#: src/test.c:1185
+#: src/test.c:1181
 msgid "Range exceeds available cells"
 msgstr ""
 
-#: src/test.c:1204
+#: src/test.c:1200
 msgid "Domain is already running"
 msgstr ""
 
-#: src/test.c:1219
+#: src/test.c:1215
 msgid "Domain is still running"
 msgstr ""
 
-#: src/test.c:1459
+#: src/test.c:1455
 msgid "Network is still running"
 msgstr ""
 
-#: src/test.c:1474
+#: src/test.c:1470
 msgid "Network is already running"
 msgstr ""
 
-#: src/util.c:121
+#: src/util.c:153
+#, c-format
+msgid "cannot block signals: %s"
+msgstr ""
+
+#: src/util.c:169
 #, c-format
 msgid "cannot create pipe: %s"
 msgstr ""
 
-#: src/util.c:127
+#: src/util.c:229 src/util.c:317
 #, c-format
 msgid "cannot fork child process: %s"
 msgstr ""
 
-#: src/util.c:495
+#: src/util.c:248 src/util.c:286
 #, c-format
-msgid "%s: not implemented\n"
+msgid "cannot unblock signals: %s"
+msgstr ""
+
+#: src/util.c:302
+#, c-format
+msgid "cannot become session leader: %s"
+msgstr ""
+
+#: src/util.c:309
+#, c-format
+msgid "cannot change to root directory: %s"
+msgstr ""
+
+#: src/util.c:329
+#, c-format
+msgid "failed to setup stdin file handle: %s"
+msgstr ""
+
+#: src/util.c:335
+#, c-format
+msgid "failed to setup stdout file handle: %s"
+msgstr ""
+
+#: src/util.c:341
+#, c-format
+msgid "failed to setup stderr file handle: %s"
+msgstr ""
+
+#: src/util.c:358
+#, c-format
+msgid "cannot execute binary '%s': %s"
+msgstr ""
+
+#: src/util.c:412
+#, c-format
+msgid "cannot wait for '%s': %s"
+msgstr ""
+
+#: src/util.c:423
+#, c-format
+msgid "%s exited with non-zero status %d and signal %d"
 msgstr ""
 
 #: src/uuid.c:103
@@ -3662,1894 +3618,1894 @@ msgstr ""
 msgid "Falling back to pseudorandom UUID, failed to generate random bytes: %s"
 msgstr ""
 
-#: src/virsh.c:337
+#: src/virsh.c:340
 msgid "print help"
 msgstr ""
 
-#: src/virsh.c:338
+#: src/virsh.c:341
 msgid "Prints global help or command specific help."
 msgstr ""
 
-#: src/virsh.c:344
+#: src/virsh.c:347
 msgid "name of command"
 msgstr ""
 
-#: src/virsh.c:356
+#: src/virsh.c:359
 msgid ""
 "Commands:\n"
 "\n"
 msgstr ""
 
-#: src/virsh.c:370
+#: src/virsh.c:373
 msgid "autostart a domain"
 msgstr ""
 
-#: src/virsh.c:372
+#: src/virsh.c:375
 msgid "Configure a domain to be automatically started at boot."
 msgstr ""
 
-#: src/virsh.c:377 src/virsh.c:477 src/virsh.c:671 src/virsh.c:708
-#: src/virsh.c:765 src/virsh.c:832 src/virsh.c:1067 src/virsh.c:1111
-#: src/virsh.c:1300 src/virsh.c:1345 src/virsh.c:1384 src/virsh.c:1423
-#: src/virsh.c:1462 src/virsh.c:1501 src/virsh.c:1625 src/virsh.c:1712
-#: src/virsh.c:1846 src/virsh.c:1903 src/virsh.c:1960 src/virsh.c:2082
-#: src/virsh.c:2223 src/virsh.c:4314 src/virsh.c:4390 src/virsh.c:4451
-#: src/virsh.c:4508 src/virsh.c:4565 src/virsh.c:4679 src/virsh.c:4798
-#: src/virsh.c:4961 src/virsh.c:5190
+#: src/virsh.c:380 src/virsh.c:480 src/virsh.c:674 src/virsh.c:711
+#: src/virsh.c:768 src/virsh.c:835 src/virsh.c:1070 src/virsh.c:1114
+#: src/virsh.c:1303 src/virsh.c:1348 src/virsh.c:1387 src/virsh.c:1426
+#: src/virsh.c:1465 src/virsh.c:1504 src/virsh.c:1628 src/virsh.c:1715
+#: src/virsh.c:1849 src/virsh.c:1906 src/virsh.c:1963 src/virsh.c:2085
+#: src/virsh.c:2226 src/virsh.c:4317 src/virsh.c:4393 src/virsh.c:4454
+#: src/virsh.c:4511 src/virsh.c:4568 src/virsh.c:4682 src/virsh.c:4801
+#: src/virsh.c:4964 src/virsh.c:5193
 msgid "domain name, id or uuid"
 msgstr ""
 
-#: src/virsh.c:378 src/virsh.c:2287 src/virsh.c:2784
+#: src/virsh.c:381 src/virsh.c:2290 src/virsh.c:2787
 msgid "disable autostarting"
 msgstr ""
 
-#: src/virsh.c:399
-#, c-format
-msgid "Failed to mark domain %s as autostarted"
-msgstr ""
-
 #: src/virsh.c:402
 #, c-format
+msgid "Failed to mark domain %s as autostarted"
+msgstr ""
+
+#: src/virsh.c:405
+#, c-format
 msgid "Failed to unmark domain %s as autostarted"
 msgstr ""
 
-#: src/virsh.c:409
+#: src/virsh.c:412
 #, c-format
 msgid "Domain %s marked as autostarted\n"
 msgstr ""
 
-#: src/virsh.c:411
+#: src/virsh.c:414
 #, c-format
 msgid "Domain %s unmarked as autostarted\n"
 msgstr ""
 
-#: src/virsh.c:422
+#: src/virsh.c:425
 msgid "(re)connect to hypervisor"
 msgstr ""
 
-#: src/virsh.c:424
+#: src/virsh.c:427
 msgid ""
 "Connect to local hypervisor. This is built-in command after shell start up."
 msgstr ""
 
-#: src/virsh.c:429
+#: src/virsh.c:432
 msgid "hypervisor connection URI"
 msgstr ""
 
-#: src/virsh.c:430
+#: src/virsh.c:433
 msgid "read-only connection"
 msgstr ""
 
-#: src/virsh.c:442
+#: src/virsh.c:445
 msgid "Failed to disconnect from the hypervisor"
 msgstr ""
 
-#: src/virsh.c:460
+#: src/virsh.c:463
 msgid "Failed to connect to the hypervisor"
 msgstr ""
 
-#: src/virsh.c:470
+#: src/virsh.c:473
 msgid "connect to the guest console"
 msgstr ""
 
-#: src/virsh.c:472
+#: src/virsh.c:475
 msgid "Connect the virtual serial console for the guest"
 msgstr ""
 
-#: src/virsh.c:519
+#: src/virsh.c:522
 msgid "No console available for domain\n"
 msgstr ""
 
-#: src/virsh.c:536
+#: src/virsh.c:539
 msgid "console not implemented on this platform"
 msgstr ""
 
-#: src/virsh.c:547
+#: src/virsh.c:550
 msgid "list domains"
 msgstr ""
 
-#: src/virsh.c:548
+#: src/virsh.c:551
 msgid "Returns list of domains."
 msgstr ""
 
-#: src/virsh.c:553
+#: src/virsh.c:556
 msgid "list inactive domains"
 msgstr ""
 
-#: src/virsh.c:554
+#: src/virsh.c:557
 msgid "list inactive & active domains"
 msgstr ""
 
-#: src/virsh.c:576 src/virsh.c:583
+#: src/virsh.c:579 src/virsh.c:586
 msgid "Failed to list active domains"
 msgstr ""
 
-#: src/virsh.c:594 src/virsh.c:602
+#: src/virsh.c:597 src/virsh.c:605
 msgid "Failed to list inactive domains"
 msgstr ""
 
-#: src/virsh.c:611
+#: src/virsh.c:614
 msgid "Id"
 msgstr ""
 
-#: src/virsh.c:611 src/virsh.c:2570 src/virsh.c:3367 src/virsh.c:4030
+#: src/virsh.c:614 src/virsh.c:2573 src/virsh.c:3370 src/virsh.c:4033
 msgid "Name"
 msgstr ""
 
-#: src/virsh.c:611 src/virsh.c:2570 src/virsh.c:3367
+#: src/virsh.c:614 src/virsh.c:2573 src/virsh.c:3370
 msgid "State"
 msgstr ""
 
-#: src/virsh.c:624 src/virsh.c:646 src/virsh.c:6147 src/virsh.c:6163
+#: src/virsh.c:627 src/virsh.c:649 src/virsh.c:6150 src/virsh.c:6166
 msgid "no state"
 msgstr ""
 
-#: src/virsh.c:665
+#: src/virsh.c:668
 msgid "domain state"
 msgstr ""
 
-#: src/virsh.c:666
+#: src/virsh.c:669
 msgid "Returns state about a domain."
 msgstr ""
 
-#: src/virsh.c:702
+#: src/virsh.c:705
 msgid "get device block stats for a domain"
 msgstr ""
 
-#: src/virsh.c:703
+#: src/virsh.c:706
 msgid "Get device block stats for a running domain."
 msgstr ""
 
-#: src/virsh.c:709
+#: src/virsh.c:712
 msgid "block device"
 msgstr ""
 
-#: src/virsh.c:730
+#: src/virsh.c:733
 #, c-format
 msgid "Failed to get block stats %s %s"
 msgstr ""
 
-#: src/virsh.c:759
+#: src/virsh.c:762
 msgid "get network interface stats for a domain"
 msgstr ""
 
-#: src/virsh.c:760
+#: src/virsh.c:763
 msgid "Get network interface stats for a running domain."
 msgstr ""
 
-#: src/virsh.c:766
+#: src/virsh.c:769
 msgid "interface device"
 msgstr ""
 
-#: src/virsh.c:787
+#: src/virsh.c:790
 #, c-format
 msgid "Failed to get interface stats %s %s"
 msgstr ""
 
-#: src/virsh.c:826
+#: src/virsh.c:829
 msgid "suspend a domain"
 msgstr ""
 
-#: src/virsh.c:827
+#: src/virsh.c:830
 msgid "Suspend a running domain."
 msgstr ""
 
-#: src/virsh.c:850
+#: src/virsh.c:853
 #, c-format
 msgid "Domain %s suspended\n"
 msgstr ""
 
-#: src/virsh.c:852
+#: src/virsh.c:855
 #, c-format
 msgid "Failed to suspend domain %s"
 msgstr ""
 
-#: src/virsh.c:865
+#: src/virsh.c:868
 msgid "create a domain from an XML file"
 msgstr ""
 
-#: src/virsh.c:866
+#: src/virsh.c:869
 msgid "Create a domain."
 msgstr ""
 
-#: src/virsh.c:871 src/virsh.c:919
+#: src/virsh.c:874 src/virsh.c:922
 msgid "file containing an XML domain description"
 msgstr ""
 
-#: src/virsh.c:898
+#: src/virsh.c:901
 #, c-format
 msgid "Domain %s created from %s\n"
 msgstr ""
 
-#: src/virsh.c:902
+#: src/virsh.c:905
 #, c-format
 msgid "Failed to create domain from %s"
 msgstr ""
 
-#: src/virsh.c:913
+#: src/virsh.c:916
 msgid "define (but don't start) a domain from an XML file"
 msgstr ""
 
-#: src/virsh.c:914
+#: src/virsh.c:917
 msgid "Define a domain."
 msgstr ""
 
-#: src/virsh.c:946
+#: src/virsh.c:949
 #, c-format
 msgid "Domain %s defined from %s\n"
 msgstr ""
 
-#: src/virsh.c:950
+#: src/virsh.c:953
 #, c-format
 msgid "Failed to define domain from %s"
 msgstr ""
 
-#: src/virsh.c:961
+#: src/virsh.c:964
 msgid "undefine an inactive domain"
 msgstr ""
 
-#: src/virsh.c:962
+#: src/virsh.c:965
 msgid "Undefine the configuration for an inactive domain."
 msgstr ""
 
-#: src/virsh.c:967 src/virsh.c:2151
+#: src/virsh.c:970 src/virsh.c:2154
 msgid "domain name or uuid"
 msgstr ""
 
-#: src/virsh.c:989
+#: src/virsh.c:992
 #, c-format
 msgid ""
 "a running domain like %s cannot be undefined;\n"
 "to undefine, first shutdown then undefine using its name or UUID"
 msgstr ""
 
-#: src/virsh.c:1000
+#: src/virsh.c:1003
 #, c-format
 msgid "Domain %s has been undefined\n"
 msgstr ""
 
-#: src/virsh.c:1002
+#: src/virsh.c:1005
 #, c-format
 msgid "Failed to undefine domain %s"
 msgstr ""
 
-#: src/virsh.c:1016
+#: src/virsh.c:1019
 msgid "start a (previously defined) inactive domain"
 msgstr ""
 
-#: src/virsh.c:1017
+#: src/virsh.c:1020
 msgid "Start a domain."
 msgstr ""
 
-#: src/virsh.c:1022
+#: src/virsh.c:1025
 msgid "name of the inactive domain"
 msgstr ""
 
-#: src/virsh.c:1039
+#: src/virsh.c:1042
 msgid "Domain is already active"
 msgstr ""
 
-#: src/virsh.c:1045
-#, c-format
-msgid "Domain %s started\n"
-msgstr ""
-
 #: src/virsh.c:1048
 #, c-format
+msgid "Domain %s started\n"
+msgstr ""
+
+#: src/virsh.c:1051
+#, c-format
 msgid "Failed to start domain %s"
 msgstr ""
 
-#: src/virsh.c:1061
+#: src/virsh.c:1064
 msgid "save a domain state to a file"
 msgstr ""
 
-#: src/virsh.c:1062
+#: src/virsh.c:1065
 msgid "Save a running domain."
 msgstr ""
 
-#: src/virsh.c:1068
+#: src/virsh.c:1071
 msgid "where to save the data"
 msgstr ""
 
-#: src/virsh.c:1090
+#: src/virsh.c:1093
 #, c-format
 msgid "Domain %s saved to %s\n"
 msgstr ""
 
-#: src/virsh.c:1092
+#: src/virsh.c:1095
 #, c-format
 msgid "Failed to save domain %s to %s"
 msgstr ""
 
-#: src/virsh.c:1105
+#: src/virsh.c:1108
 msgid "show/set scheduler parameters"
 msgstr ""
 
-#: src/virsh.c:1106
+#: src/virsh.c:1109
 msgid "Show/Set scheduler parameters."
 msgstr ""
 
-#: src/virsh.c:1112
+#: src/virsh.c:1115
 msgid "weight for XEN_CREDIT"
 msgstr ""
 
-#: src/virsh.c:1113
+#: src/virsh.c:1116
 msgid "cap for XEN_CREDIT"
 msgstr ""
 
-#: src/virsh.c:1145
+#: src/virsh.c:1148
 msgid "Invalid value of weight"
 msgstr ""
 
-#: src/virsh.c:1155
+#: src/virsh.c:1158
 msgid "Invalid value of cap"
 msgstr ""
 
-#: src/virsh.c:1197 src/virsh.c:1201
+#: src/virsh.c:1200 src/virsh.c:1204
 msgid "Scheduler"
 msgstr ""
 
-#: src/virsh.c:1201
+#: src/virsh.c:1204
 msgid "Unknown"
 msgstr ""
 
-#: src/virsh.c:1256
+#: src/virsh.c:1259
 msgid "restore a domain from a saved state in a file"
 msgstr ""
 
-#: src/virsh.c:1257
+#: src/virsh.c:1260
 msgid "Restore a domain."
 msgstr ""
 
-#: src/virsh.c:1262
+#: src/virsh.c:1265
 msgid "the state to restore"
 msgstr ""
 
-#: src/virsh.c:1281
+#: src/virsh.c:1284
 #, c-format
 msgid "Domain restored from %s\n"
 msgstr ""
 
-#: src/virsh.c:1283
+#: src/virsh.c:1286
 #, c-format
 msgid "Failed to restore domain from %s"
 msgstr ""
 
-#: src/virsh.c:1294
+#: src/virsh.c:1297
 msgid "dump the core of a domain to a file for analysis"
 msgstr ""
 
-#: src/virsh.c:1295
+#: src/virsh.c:1298
 msgid "Core dump a domain."
 msgstr ""
 
-#: src/virsh.c:1301
+#: src/virsh.c:1304
 msgid "where to dump the core"
 msgstr ""
 
-#: src/virsh.c:1323
+#: src/virsh.c:1326
 #, c-format
-msgid "Domain %s dumpd to %s\n"
+msgid "Domain %s dumped to %s\n"
 msgstr ""
 
-#: src/virsh.c:1325
+#: src/virsh.c:1328
 #, c-format
 msgid "Failed to core dump domain %s to %s"
 msgstr ""
 
-#: src/virsh.c:1339
+#: src/virsh.c:1342
 msgid "resume a domain"
 msgstr ""
 
-#: src/virsh.c:1340
+#: src/virsh.c:1343
 msgid "Resume a previously suspended domain."
 msgstr ""
 
-#: src/virsh.c:1363
+#: src/virsh.c:1366
 #, c-format
 msgid "Domain %s resumed\n"
 msgstr ""
 
-#: src/virsh.c:1365
+#: src/virsh.c:1368
 #, c-format
 msgid "Failed to resume domain %s"
 msgstr ""
 
-#: src/virsh.c:1378
+#: src/virsh.c:1381
 msgid "gracefully shutdown a domain"
 msgstr ""
 
-#: src/virsh.c:1379
+#: src/virsh.c:1382
 msgid "Run shutdown in the target domain."
 msgstr ""
 
-#: src/virsh.c:1402
+#: src/virsh.c:1405
 #, c-format
 msgid "Domain %s is being shutdown\n"
 msgstr ""
 
-#: src/virsh.c:1404
+#: src/virsh.c:1407
 #, c-format
 msgid "Failed to shutdown domain %s"
 msgstr ""
 
-#: src/virsh.c:1417
+#: src/virsh.c:1420
 msgid "reboot a domain"
 msgstr ""
 
-#: src/virsh.c:1418
+#: src/virsh.c:1421
 msgid "Run a reboot command in the target domain."
 msgstr ""
 
-#: src/virsh.c:1441
+#: src/virsh.c:1444
 #, c-format
 msgid "Domain %s is being rebooted\n"
 msgstr ""
 
-#: src/virsh.c:1443
+#: src/virsh.c:1446
 #, c-format
 msgid "Failed to reboot domain %s"
 msgstr ""
 
-#: src/virsh.c:1456
+#: src/virsh.c:1459
 msgid "destroy a domain"
 msgstr ""
 
-#: src/virsh.c:1457
+#: src/virsh.c:1460
 msgid "Destroy a given domain."
 msgstr ""
 
-#: src/virsh.c:1480
+#: src/virsh.c:1483
 #, c-format
 msgid "Domain %s destroyed\n"
 msgstr ""
 
-#: src/virsh.c:1482
+#: src/virsh.c:1485
 #, c-format
 msgid "Failed to destroy domain %s"
 msgstr ""
 
-#: src/virsh.c:1495
+#: src/virsh.c:1498
 msgid "domain information"
 msgstr ""
 
-#: src/virsh.c:1496
+#: src/virsh.c:1499
 msgid "Returns basic information about the domain."
 msgstr ""
 
-#: src/virsh.c:1522 src/virsh.c:1524
+#: src/virsh.c:1525 src/virsh.c:1527
 msgid "Id:"
 msgstr ""
 
-#: src/virsh.c:1525 src/virsh.c:3472 src/virsh.c:3918
+#: src/virsh.c:1528 src/virsh.c:3475 src/virsh.c:3921
 msgid "Name:"
 msgstr ""
 
-#: src/virsh.c:1528 src/virsh.c:3475
+#: src/virsh.c:1531 src/virsh.c:3478
 msgid "UUID:"
 msgstr ""
 
-#: src/virsh.c:1531
+#: src/virsh.c:1534
 msgid "OS Type:"
 msgstr ""
 
-#: src/virsh.c:1536 src/virsh.c:1669 src/virsh.c:3482 src/virsh.c:3486
-#: src/virsh.c:3490 src/virsh.c:3494
+#: src/virsh.c:1539 src/virsh.c:1672 src/virsh.c:3485 src/virsh.c:3489
+#: src/virsh.c:3493 src/virsh.c:3497
 msgid "State:"
 msgstr ""
 
-#: src/virsh.c:1539 src/virsh.c:2032
+#: src/virsh.c:1542 src/virsh.c:2035
 msgid "CPU(s):"
 msgstr ""
 
-#: src/virsh.c:1546 src/virsh.c:1676
+#: src/virsh.c:1549 src/virsh.c:1679
 msgid "CPU time:"
 msgstr ""
 
-#: src/virsh.c:1550 src/virsh.c:1553
+#: src/virsh.c:1553 src/virsh.c:1556
 msgid "Max memory:"
 msgstr ""
 
-#: src/virsh.c:1554
+#: src/virsh.c:1557
 msgid "no limit"
 msgstr ""
 
-#: src/virsh.c:1556
+#: src/virsh.c:1559
 msgid "Used memory:"
 msgstr ""
 
-#: src/virsh.c:1564
+#: src/virsh.c:1567
 msgid "Autostart:"
 msgstr ""
 
-#: src/virsh.c:1565
+#: src/virsh.c:1568
 msgid "enable"
 msgstr ""
 
-#: src/virsh.c:1565
+#: src/virsh.c:1568
 msgid "disable"
 msgstr ""
 
-#: src/virsh.c:1577
+#: src/virsh.c:1580
 msgid "NUMA free memory"
 msgstr ""
 
-#: src/virsh.c:1578
+#: src/virsh.c:1581
 msgid "display available free memory for the NUMA cell."
 msgstr ""
 
-#: src/virsh.c:1583
+#: src/virsh.c:1586
 msgid "NUMA cell number"
 msgstr ""
 
-#: src/virsh.c:1607
+#: src/virsh.c:1610
 msgid "Total"
 msgstr ""
 
-#: src/virsh.c:1619
+#: src/virsh.c:1622
 msgid "domain vcpu information"
 msgstr ""
 
-#: src/virsh.c:1620
+#: src/virsh.c:1623
 msgid "Returns basic information about the domain virtual CPUs."
 msgstr ""
 
-#: src/virsh.c:1667
+#: src/virsh.c:1670
 msgid "VCPU:"
 msgstr ""
 
-#: src/virsh.c:1668
+#: src/virsh.c:1671
 msgid "CPU:"
 msgstr ""
 
-#: src/virsh.c:1678
+#: src/virsh.c:1681
 msgid "CPU Affinity:"
 msgstr ""
 
-#: src/virsh.c:1690
+#: src/virsh.c:1693
 msgid "Domain shut off, virtual CPUs not present."
 msgstr ""
 
-#: src/virsh.c:1706
+#: src/virsh.c:1709
 msgid "control domain vcpu affinity"
 msgstr ""
 
-#: src/virsh.c:1707
+#: src/virsh.c:1710
 msgid "Pin domain VCPUs to host physical CPUs."
 msgstr ""
 
-#: src/virsh.c:1713
+#: src/virsh.c:1716
 msgid "vcpu number"
 msgstr ""
 
-#: src/virsh.c:1714
+#: src/virsh.c:1717
 msgid "host cpu number(s) (comma separated)"
 msgstr ""
 
-#: src/virsh.c:1742
+#: src/virsh.c:1745
 msgid "vcpupin: Invalid or missing vCPU number."
 msgstr ""
 
-#: src/virsh.c:1748
+#: src/virsh.c:1751
 msgid "vcpupin: Missing cpulist"
 msgstr ""
 
-#: src/virsh.c:1760
+#: src/virsh.c:1763
 msgid "vcpupin: failed to get domain informations."
 msgstr ""
 
-#: src/virsh.c:1766
+#: src/virsh.c:1769
 msgid "vcpupin: Invalid vCPU number."
 msgstr ""
 
-#: src/virsh.c:1775
+#: src/virsh.c:1778
 msgid "cpulist: Invalid format. Empty string."
 msgstr ""
 
-#: src/virsh.c:1785
+#: src/virsh.c:1788
 #, c-format
 msgid ""
 "cpulist: %s: Invalid format. Expecting digit at position %d (near '%c')."
 msgstr ""
 
-#: src/virsh.c:1795
+#: src/virsh.c:1798
 #, c-format
 msgid ""
 "cpulist: %s: Invalid format. Expecting digit or comma at position %d (near '%"
 "c')."
 msgstr ""
 
-#: src/virsh.c:1802
+#: src/virsh.c:1805
 #, c-format
 msgid "cpulist: %s: Invalid format. Trailing comma at position %d."
 msgstr ""
 
-#: src/virsh.c:1816
+#: src/virsh.c:1819
 #, c-format
 msgid "Physical CPU %d doesn't exist."
 msgstr ""
 
-#: src/virsh.c:1840
+#: src/virsh.c:1843
 msgid "change number of virtual CPUs"
 msgstr ""
 
-#: src/virsh.c:1841
+#: src/virsh.c:1844
 msgid "Change the number of virtual CPUs in the guest domain."
 msgstr ""
 
-#: src/virsh.c:1847
+#: src/virsh.c:1850
 msgid "number of virtual CPUs"
 msgstr ""
 
-#: src/virsh.c:1867
+#: src/virsh.c:1870
 msgid "Invalid number of virtual CPUs."
 msgstr ""
 
-#: src/virsh.c:1879
+#: src/virsh.c:1882
 msgid "Too many virtual CPUs."
 msgstr ""
 
-#: src/virsh.c:1897
+#: src/virsh.c:1900
 msgid "change memory allocation"
 msgstr ""
 
-#: src/virsh.c:1898
+#: src/virsh.c:1901
 msgid "Change the current memory allocation in the guest domain."
 msgstr ""
 
-#: src/virsh.c:1904
+#: src/virsh.c:1907
 msgid "number of kilobytes of memory"
 msgstr ""
 
-#: src/virsh.c:1925 src/virsh.c:1937 src/virsh.c:1982
+#: src/virsh.c:1928 src/virsh.c:1940 src/virsh.c:1985
 #, c-format
 msgid "Invalid value of %d for memory size"
 msgstr ""
 
-#: src/virsh.c:1931
+#: src/virsh.c:1934
 msgid "Unable to verify MaxMemorySize"
 msgstr ""
 
-#: src/virsh.c:1954
+#: src/virsh.c:1957
 msgid "change maximum memory limit"
 msgstr ""
 
-#: src/virsh.c:1955
+#: src/virsh.c:1958
 msgid "Change the maximum memory allocation limit in the guest domain."
 msgstr ""
 
-#: src/virsh.c:1961
+#: src/virsh.c:1964
 msgid "maximum memory limit in kilobytes"
 msgstr ""
 
-#: src/virsh.c:1988
+#: src/virsh.c:1991
 msgid "Unable to verify current MemorySize"
 msgstr ""
 
-#: src/virsh.c:1995
+#: src/virsh.c:1998
 msgid "Unable to shrink current MemorySize"
 msgstr ""
 
-#: src/virsh.c:2001
+#: src/virsh.c:2004
 msgid "Unable to change MaxMemorySize"
 msgstr ""
 
-#: src/virsh.c:2014
+#: src/virsh.c:2017
 msgid "node information"
 msgstr ""
 
-#: src/virsh.c:2015
+#: src/virsh.c:2018
 msgid "Returns basic information about the node."
 msgstr ""
 
-#: src/virsh.c:2028
+#: src/virsh.c:2031
 msgid "failed to get node information"
 msgstr ""
 
-#: src/virsh.c:2031
+#: src/virsh.c:2034
 msgid "CPU model:"
 msgstr ""
 
-#: src/virsh.c:2033
+#: src/virsh.c:2036
 msgid "CPU frequency:"
 msgstr ""
 
-#: src/virsh.c:2034
+#: src/virsh.c:2037
 msgid "CPU socket(s):"
 msgstr ""
 
-#: src/virsh.c:2035
+#: src/virsh.c:2038
 msgid "Core(s) per socket:"
 msgstr ""
 
-#: src/virsh.c:2036
+#: src/virsh.c:2039
 msgid "Thread(s) per core:"
 msgstr ""
 
-#: src/virsh.c:2037
+#: src/virsh.c:2040
 msgid "NUMA cell(s):"
 msgstr ""
 
-#: src/virsh.c:2038
+#: src/virsh.c:2041
 msgid "Memory size:"
 msgstr ""
 
-#: src/virsh.c:2048
+#: src/virsh.c:2051
 msgid "capabilities"
 msgstr ""
 
-#: src/virsh.c:2049
+#: src/virsh.c:2052
 msgid "Returns capabilities of hypervisor/driver."
 msgstr ""
 
-#: src/virsh.c:2062
+#: src/virsh.c:2065
 msgid "failed to get capabilities"
 msgstr ""
 
-#: src/virsh.c:2076
+#: src/virsh.c:2079
 msgid "domain information in XML"
 msgstr ""
 
-#: src/virsh.c:2077
+#: src/virsh.c:2080
 msgid "Output the domain information as an XML dump to stdout."
 msgstr ""
 
-#: src/virsh.c:2116
+#: src/virsh.c:2119
 msgid "convert a domain id or UUID to domain name"
 msgstr ""
 
-#: src/virsh.c:2121
+#: src/virsh.c:2124
 msgid "domain id or uuid"
 msgstr ""
 
-#: src/virsh.c:2146
+#: src/virsh.c:2149
 msgid "convert a domain name or UUID to domain id"
 msgstr ""
 
-#: src/virsh.c:2181
+#: src/virsh.c:2184
 msgid "convert a domain name or id to domain UUID"
 msgstr ""
 
-#: src/virsh.c:2186
+#: src/virsh.c:2189
 msgid "domain id or name"
 msgstr ""
 
-#: src/virsh.c:2205
+#: src/virsh.c:2208
 msgid "failed to get domain UUID"
 msgstr ""
 
-#: src/virsh.c:2216
+#: src/virsh.c:2219
 msgid "migrate domain to another host"
 msgstr ""
 
-#: src/virsh.c:2217
+#: src/virsh.c:2220
 msgid "Migrate domain to another host.  Add --live for live migration."
 msgstr ""
 
-#: src/virsh.c:2222
+#: src/virsh.c:2225
 msgid "live migration"
 msgstr ""
 
-#: src/virsh.c:2224
+#: src/virsh.c:2227
 msgid "connection URI of the destination host"
 msgstr ""
 
-#: src/virsh.c:2225
+#: src/virsh.c:2228
 msgid "migration URI, usually can be omitted"
 msgstr ""
 
-#: src/virsh.c:2247
+#: src/virsh.c:2250
 msgid "migrate: Missing desturi"
 msgstr ""
 
-#: src/virsh.c:2279
+#: src/virsh.c:2282
 msgid "autostart a network"
 msgstr ""
 
-#: src/virsh.c:2281
+#: src/virsh.c:2284
 msgid "Configure a network to be automatically started at boot."
 msgstr ""
 
-#: src/virsh.c:2286 src/virsh.c:2707
+#: src/virsh.c:2289 src/virsh.c:2710
 msgid "network name or uuid"
 msgstr ""
 
-#: src/virsh.c:2308
-#, c-format
-msgid "failed to mark network %s as autostarted"
-msgstr ""
-
 #: src/virsh.c:2311
 #, c-format
+msgid "failed to mark network %s as autostarted"
+msgstr ""
+
+#: src/virsh.c:2314
+#, c-format
 msgid "failed to unmark network %s as autostarted"
 msgstr ""
 
-#: src/virsh.c:2318
+#: src/virsh.c:2321
 #, c-format
 msgid "Network %s marked as autostarted\n"
 msgstr ""
 
-#: src/virsh.c:2320
+#: src/virsh.c:2323
 #, c-format
 msgid "Network %s unmarked as autostarted\n"
 msgstr ""
 
-#: src/virsh.c:2330
+#: src/virsh.c:2333
 msgid "create a network from an XML file"
 msgstr ""
 
-#: src/virsh.c:2331
+#: src/virsh.c:2334
 msgid "Create a network."
 msgstr ""
 
-#: src/virsh.c:2336 src/virsh.c:2384
+#: src/virsh.c:2339 src/virsh.c:2387
 msgid "file containing an XML network description"
 msgstr ""
 
-#: src/virsh.c:2363
-#, c-format
-msgid "Network %s created from %s\n"
-msgstr ""
-
 #: src/virsh.c:2366
 #, c-format
+msgid "Network %s created from %s\n"
+msgstr ""
+
+#: src/virsh.c:2369
+#, c-format
 msgid "Failed to create network from %s"
 msgstr ""
 
-#: src/virsh.c:2378
+#: src/virsh.c:2381
 msgid "define (but don't start) a network from an XML file"
 msgstr ""
 
-#: src/virsh.c:2379
+#: src/virsh.c:2382
 msgid "Define a network."
 msgstr ""
 
-#: src/virsh.c:2411
-#, c-format
-msgid "Network %s defined from %s\n"
-msgstr ""
-
 #: src/virsh.c:2414
 #, c-format
+msgid "Network %s defined from %s\n"
+msgstr ""
+
+#: src/virsh.c:2417
+#, c-format
 msgid "Failed to define network from %s"
 msgstr ""
 
-#: src/virsh.c:2426
+#: src/virsh.c:2429
 msgid "destroy a network"
 msgstr ""
 
-#: src/virsh.c:2427
+#: src/virsh.c:2430
 msgid "Destroy a given network."
 msgstr ""
 
-#: src/virsh.c:2432 src/virsh.c:2472 src/virsh.c:5293
+#: src/virsh.c:2435 src/virsh.c:2475 src/virsh.c:5296
 msgid "network name, id or uuid"
 msgstr ""
 
-#: src/virsh.c:2450
+#: src/virsh.c:2453
 #, c-format
 msgid "Network %s destroyed\n"
 msgstr ""
 
-#: src/virsh.c:2452
+#: src/virsh.c:2455
 #, c-format
 msgid "Failed to destroy network %s"
 msgstr ""
 
-#: src/virsh.c:2466
+#: src/virsh.c:2469
 msgid "network information in XML"
 msgstr ""
 
-#: src/virsh.c:2467
+#: src/virsh.c:2470
 msgid "Output the network information as an XML dump to stdout."
 msgstr ""
 
-#: src/virsh.c:2507
+#: src/virsh.c:2510
 msgid "list networks"
 msgstr ""
 
-#: src/virsh.c:2508
+#: src/virsh.c:2511
 msgid "Returns list of networks."
 msgstr ""
 
-#: src/virsh.c:2513
+#: src/virsh.c:2516
 msgid "list inactive networks"
 msgstr ""
 
-#: src/virsh.c:2514
+#: src/virsh.c:2517
 msgid "list inactive & active networks"
 msgstr ""
 
-#: src/virsh.c:2534 src/virsh.c:2542
+#: src/virsh.c:2537 src/virsh.c:2545
 msgid "Failed to list active networks"
 msgstr ""
 
-#: src/virsh.c:2553 src/virsh.c:2561
+#: src/virsh.c:2556 src/virsh.c:2564
 msgid "Failed to list inactive networks"
 msgstr ""
 
-#: src/virsh.c:2570 src/virsh.c:3367
+#: src/virsh.c:2573 src/virsh.c:3370
 msgid "Autostart"
 msgstr ""
 
-#: src/virsh.c:2585 src/virsh.c:2608 src/virsh.c:3382 src/virsh.c:3405
+#: src/virsh.c:2588 src/virsh.c:2611 src/virsh.c:3385 src/virsh.c:3408
 msgid "no autostart"
 msgstr ""
 
-#: src/virsh.c:2591 src/virsh.c:3388
+#: src/virsh.c:2594 src/virsh.c:3391
 msgid "active"
 msgstr ""
 
-#: src/virsh.c:2614 src/virsh.c:3411 src/virsh.c:3483
+#: src/virsh.c:2617 src/virsh.c:3414 src/virsh.c:3486
 msgid "inactive"
 msgstr ""
 
-#: src/virsh.c:2631
+#: src/virsh.c:2634
 msgid "convert a network UUID to network name"
 msgstr ""
 
-#: src/virsh.c:2636
+#: src/virsh.c:2639
 msgid "network uuid"
 msgstr ""
 
-#: src/virsh.c:2662
+#: src/virsh.c:2665
 msgid "start a (previously defined) inactive network"
 msgstr ""
 
-#: src/virsh.c:2663
+#: src/virsh.c:2666
 msgid "Start a network."
 msgstr ""
 
-#: src/virsh.c:2668
+#: src/virsh.c:2671
 msgid "name of the inactive network"
 msgstr ""
 
-#: src/virsh.c:2685
-#, c-format
-msgid "Network %s started\n"
-msgstr ""
-
 #: src/virsh.c:2688
 #, c-format
+msgid "Network %s started\n"
+msgstr ""
+
+#: src/virsh.c:2691
+#, c-format
 msgid "Failed to start network %s"
 msgstr ""
 
-#: src/virsh.c:2701
+#: src/virsh.c:2704
 msgid "undefine an inactive network"
 msgstr ""
 
-#: src/virsh.c:2702
+#: src/virsh.c:2705
 msgid "Undefine the configuration for an inactive network."
 msgstr ""
 
-#: src/virsh.c:2725
+#: src/virsh.c:2728
 #, c-format
 msgid "Network %s has been undefined\n"
 msgstr ""
 
-#: src/virsh.c:2727
+#: src/virsh.c:2730
 #, c-format
 msgid "Failed to undefine network %s"
 msgstr ""
 
-#: src/virsh.c:2740
+#: src/virsh.c:2743
 msgid "convert a network name to network UUID"
 msgstr ""
 
-#: src/virsh.c:2745
+#: src/virsh.c:2748
 msgid "network name"
 msgstr ""
 
-#: src/virsh.c:2765
+#: src/virsh.c:2768
 msgid "failed to get network UUID"
 msgstr ""
 
-#: src/virsh.c:2776
+#: src/virsh.c:2779
 msgid "autostart a pool"
 msgstr ""
 
-#: src/virsh.c:2778
+#: src/virsh.c:2781
 msgid "Configure a pool to be automatically started at boot."
 msgstr ""
 
-#: src/virsh.c:2783 src/virsh.c:3109 src/virsh.c:3149 src/virsh.c:3189
-#: src/virsh.c:3229 src/virsh.c:3269 src/virsh.c:3454 src/virsh.c:3722
-#: src/virsh.c:3858 src/virsh.c:3900 src/virsh.c:3952 src/virsh.c:3994
-#: src/virsh.c:4138 src/virsh.c:5311
+#: src/virsh.c:2786 src/virsh.c:3112 src/virsh.c:3152 src/virsh.c:3192
+#: src/virsh.c:3232 src/virsh.c:3272 src/virsh.c:3457 src/virsh.c:3725
+#: src/virsh.c:3861 src/virsh.c:3903 src/virsh.c:3955 src/virsh.c:3997
+#: src/virsh.c:4141 src/virsh.c:5314
 msgid "pool name or uuid"
 msgstr ""
 
-#: src/virsh.c:2805
-#, c-format
-msgid "failed to mark pool %s as autostarted"
-msgstr ""
-
 #: src/virsh.c:2808
 #, c-format
+msgid "failed to mark pool %s as autostarted"
+msgstr ""
+
+#: src/virsh.c:2811
+#, c-format
 msgid "failed to unmark pool %s as autostarted"
 msgstr ""
 
-#: src/virsh.c:2815
+#: src/virsh.c:2818
 #, c-format
 msgid "Pool %s marked as autostarted\n"
 msgstr ""
 
-#: src/virsh.c:2817
+#: src/virsh.c:2820
 #, c-format
 msgid "Pool %s unmarked as autostarted\n"
 msgstr ""
 
-#: src/virsh.c:2827
+#: src/virsh.c:2830
 msgid "create a pool from an XML file"
 msgstr ""
 
-#: src/virsh.c:2828 src/virsh.c:2875
+#: src/virsh.c:2831 src/virsh.c:2878
 msgid "Create a pool."
 msgstr ""
 
-#: src/virsh.c:2833 src/virsh.c:2971
+#: src/virsh.c:2836 src/virsh.c:2974
 msgid "file containing an XML pool description"
 msgstr ""
 
-#: src/virsh.c:2860
-#, c-format
-msgid "Pool %s created from %s\n"
-msgstr ""
-
 #: src/virsh.c:2863
 #, c-format
+msgid "Pool %s created from %s\n"
+msgstr ""
+
+#: src/virsh.c:2866
+#, c-format
 msgid "Failed to create pool from %s"
 msgstr ""
 
-#: src/virsh.c:2874
+#: src/virsh.c:2877
 msgid "create a pool from a set of args"
 msgstr ""
 
-#: src/virsh.c:2880 src/virsh.c:3019
+#: src/virsh.c:2883 src/virsh.c:3022
 msgid "name of the pool"
 msgstr ""
 
-#: src/virsh.c:2881 src/virsh.c:3020
+#: src/virsh.c:2884 src/virsh.c:3023
 msgid "type of the pool"
 msgstr ""
 
-#: src/virsh.c:2882 src/virsh.c:3021
+#: src/virsh.c:2885 src/virsh.c:3024
 msgid "source-host for underlying storage"
 msgstr ""
 
-#: src/virsh.c:2883 src/virsh.c:3022
+#: src/virsh.c:2886 src/virsh.c:3025
 msgid "source path for underlying storage"
 msgstr ""
 
-#: src/virsh.c:2884 src/virsh.c:3023
+#: src/virsh.c:2887 src/virsh.c:3026
 msgid "source device for underlying storage"
 msgstr ""
 
-#: src/virsh.c:2885 src/virsh.c:3024
+#: src/virsh.c:2888 src/virsh.c:3027
 msgid "target for underlying storage"
 msgstr ""
 
-#: src/virsh.c:2937 src/virsh.c:3075 src/virsh.c:3687
+#: src/virsh.c:2940 src/virsh.c:3078 src/virsh.c:3690
 msgid "Failed to allocate XML buffer"
 msgstr ""
 
-#: src/virsh.c:2946
+#: src/virsh.c:2949
 #, c-format
 msgid "Pool %s created\n"
 msgstr ""
 
-#: src/virsh.c:2950
+#: src/virsh.c:2953
 #, c-format
 msgid "Failed to create pool %s"
 msgstr ""
 
-#: src/virsh.c:2965
+#: src/virsh.c:2968
 msgid "define (but don't start) a pool from an XML file"
 msgstr ""
 
-#: src/virsh.c:2966 src/virsh.c:3014
+#: src/virsh.c:2969 src/virsh.c:3017
 msgid "Define a pool."
 msgstr ""
 
-#: src/virsh.c:2998
-#, c-format
-msgid "Pool %s defined from %s\n"
-msgstr ""
-
 #: src/virsh.c:3001
 #, c-format
+msgid "Pool %s defined from %s\n"
+msgstr ""
+
+#: src/virsh.c:3004
+#, c-format
 msgid "Failed to define pool from %s"
 msgstr ""
 
-#: src/virsh.c:3013
+#: src/virsh.c:3016
 msgid "define a pool from a set of args"
 msgstr ""
 
-#: src/virsh.c:3084
+#: src/virsh.c:3087
 #, c-format
 msgid "Pool %s defined\n"
 msgstr ""
 
-#: src/virsh.c:3088
+#: src/virsh.c:3091
 #, c-format
 msgid "Failed to define pool %s"
 msgstr ""
 
-#: src/virsh.c:3103
+#: src/virsh.c:3106
 msgid "build a pool"
 msgstr ""
 
-#: src/virsh.c:3104
+#: src/virsh.c:3107
 msgid "Build a given pool."
 msgstr ""
 
-#: src/virsh.c:3127
+#: src/virsh.c:3130
 #, c-format
 msgid "Pool %s builded\n"
 msgstr ""
 
-#: src/virsh.c:3129
+#: src/virsh.c:3132
 #, c-format
 msgid "Failed to build pool %s"
 msgstr ""
 
-#: src/virsh.c:3143
+#: src/virsh.c:3146
 msgid "destroy a pool"
 msgstr ""
 
-#: src/virsh.c:3144
+#: src/virsh.c:3147
 msgid "Destroy a given pool."
 msgstr ""
 
-#: src/virsh.c:3167
+#: src/virsh.c:3170
 #, c-format
 msgid "Pool %s destroyed\n"
 msgstr ""
 
-#: src/virsh.c:3169
+#: src/virsh.c:3172
 #, c-format
 msgid "Failed to destroy pool %s"
 msgstr ""
 
-#: src/virsh.c:3183
+#: src/virsh.c:3186
 msgid "delete a pool"
 msgstr ""
 
-#: src/virsh.c:3184
+#: src/virsh.c:3187
 msgid "Delete a given pool."
 msgstr ""
 
-#: src/virsh.c:3207
+#: src/virsh.c:3210
 #, c-format
 msgid "Pool %s deleted\n"
 msgstr ""
 
-#: src/virsh.c:3209
+#: src/virsh.c:3212
 #, c-format
 msgid "Failed to delete pool %s"
 msgstr ""
 
-#: src/virsh.c:3223
+#: src/virsh.c:3226
 msgid "refresh a pool"
 msgstr ""
 
-#: src/virsh.c:3224
+#: src/virsh.c:3227
 msgid "Refresh a given pool."
 msgstr ""
 
-#: src/virsh.c:3247
+#: src/virsh.c:3250
 #, c-format
 msgid "Pool %s refreshed\n"
 msgstr ""
 
-#: src/virsh.c:3249
+#: src/virsh.c:3252
 #, c-format
 msgid "Failed to refresh pool %s"
 msgstr ""
 
-#: src/virsh.c:3263
+#: src/virsh.c:3266
 msgid "pool information in XML"
 msgstr ""
 
-#: src/virsh.c:3264
+#: src/virsh.c:3267
 msgid "Output the pool information as an XML dump to stdout."
 msgstr ""
 
-#: src/virsh.c:3304
+#: src/virsh.c:3307
 msgid "list pools"
 msgstr ""
 
-#: src/virsh.c:3305
+#: src/virsh.c:3308
 msgid "Returns list of pools."
 msgstr ""
 
-#: src/virsh.c:3310
+#: src/virsh.c:3313
 msgid "list inactive pools"
 msgstr ""
 
-#: src/virsh.c:3311
+#: src/virsh.c:3314
 msgid "list inactive & active pools"
 msgstr ""
 
-#: src/virsh.c:3331 src/virsh.c:3339
+#: src/virsh.c:3334 src/virsh.c:3342
 msgid "Failed to list active pools"
 msgstr ""
 
-#: src/virsh.c:3350 src/virsh.c:3358
+#: src/virsh.c:3353 src/virsh.c:3361
 msgid "Failed to list inactive pools"
 msgstr ""
 
-#: src/virsh.c:3448
+#: src/virsh.c:3451
 msgid "storage pool information"
 msgstr ""
 
-#: src/virsh.c:3449
+#: src/virsh.c:3452
 msgid "Returns basic information about the storage pool."
 msgstr ""
 
-#: src/virsh.c:3487
+#: src/virsh.c:3490
 msgid "building"
 msgstr ""
 
-#: src/virsh.c:3491 src/virsh.c:6133 src/virsh.c:6159
+#: src/virsh.c:3494 src/virsh.c:6136 src/virsh.c:6162
 msgid "running"
 msgstr ""
 
-#: src/virsh.c:3495
+#: src/virsh.c:3498
 msgid "degraded"
 msgstr ""
 
-#: src/virsh.c:3502 src/virsh.c:3928
+#: src/virsh.c:3505 src/virsh.c:3931
 msgid "Capacity:"
 msgstr ""
 
-#: src/virsh.c:3505 src/virsh.c:3931
+#: src/virsh.c:3508 src/virsh.c:3934
 msgid "Allocation:"
 msgstr ""
 
-#: src/virsh.c:3508
+#: src/virsh.c:3511
 msgid "Available:"
 msgstr ""
 
-#: src/virsh.c:3524
+#: src/virsh.c:3527
 msgid "convert a pool UUID to pool name"
 msgstr ""
 
-#: src/virsh.c:3529
+#: src/virsh.c:3532
 msgid "pool uuid"
 msgstr ""
 
-#: src/virsh.c:3555
+#: src/virsh.c:3558
 msgid "start a (previously defined) inactive pool"
 msgstr ""
 
-#: src/virsh.c:3556
+#: src/virsh.c:3559
 msgid "Start a pool."
 msgstr ""
 
-#: src/virsh.c:3561
+#: src/virsh.c:3564
 msgid "name of the inactive pool"
 msgstr ""
 
-#: src/virsh.c:3578
-#, c-format
-msgid "Pool %s started\n"
-msgstr ""
-
 #: src/virsh.c:3581
 #, c-format
+msgid "Pool %s started\n"
+msgstr ""
+
+#: src/virsh.c:3584
+#, c-format
 msgid "Failed to start pool %s"
 msgstr ""
 
-#: src/virsh.c:3594
+#: src/virsh.c:3597
 msgid "create a volume from a set of args"
 msgstr ""
 
-#: src/virsh.c:3595 src/virsh.c:3794
+#: src/virsh.c:3598 src/virsh.c:3797
 msgid "Create a vol."
 msgstr ""
 
-#: src/virsh.c:3600 src/virsh.c:3760 src/virsh.c:3799
+#: src/virsh.c:3603 src/virsh.c:3763 src/virsh.c:3802
 msgid "pool name"
 msgstr ""
 
-#: src/virsh.c:3601
+#: src/virsh.c:3604
 msgid "name of the volume"
 msgstr ""
 
-#: src/virsh.c:3602
+#: src/virsh.c:3605
 msgid "size of the vol with optional k,M,G,T suffix"
 msgstr ""
 
-#: src/virsh.c:3603
+#: src/virsh.c:3606
 msgid "initial allocation size with optional k,M,G,T suffix"
 msgstr ""
 
-#: src/virsh.c:3604
+#: src/virsh.c:3607
 msgid "file format type raw,bochs,qcow,qcow2,vmdk"
 msgstr ""
 
-#: src/virsh.c:3662 src/virsh.c:3667
+#: src/virsh.c:3665 src/virsh.c:3670
 #, c-format
 msgid "Malformed size %s"
 msgstr ""
 
-#: src/virsh.c:3696
+#: src/virsh.c:3699
 #, c-format
 msgid "Vol %s created\n"
 msgstr ""
 
-#: src/virsh.c:3700
+#: src/virsh.c:3703
 #, c-format
 msgid "Failed to create vol %s"
 msgstr ""
 
-#: src/virsh.c:3716
+#: src/virsh.c:3719
 msgid "undefine an inactive pool"
 msgstr ""
 
-#: src/virsh.c:3717
+#: src/virsh.c:3720
 msgid "Undefine the configuration for an inactive pool."
 msgstr ""
 
-#: src/virsh.c:3740
+#: src/virsh.c:3743
 #, c-format
 msgid "Pool %s has been undefined\n"
 msgstr ""
 
-#: src/virsh.c:3742
+#: src/virsh.c:3745
 #, c-format
 msgid "Failed to undefine pool %s"
 msgstr ""
 
-#: src/virsh.c:3755
+#: src/virsh.c:3758
 msgid "convert a pool name to pool UUID"
 msgstr ""
 
-#: src/virsh.c:3780
+#: src/virsh.c:3783
 msgid "failed to get pool UUID"
 msgstr ""
 
-#: src/virsh.c:3793
+#: src/virsh.c:3796
 msgid "create a vol from an XML file"
 msgstr ""
 
-#: src/virsh.c:3800
+#: src/virsh.c:3803
 msgid "file containing an XML vol description"
 msgstr ""
 
-#: src/virsh.c:3837
+#: src/virsh.c:3840
 #, c-format
 msgid "Vol %s created from %s\n"
 msgstr ""
 
-#: src/virsh.c:3841
+#: src/virsh.c:3844
 #, c-format
 msgid "Failed to create vol from %s"
 msgstr ""
 
-#: src/virsh.c:3852
+#: src/virsh.c:3855
 msgid "delete a vol"
 msgstr ""
 
-#: src/virsh.c:3853
+#: src/virsh.c:3856
 msgid "Delete a given vol."
 msgstr ""
 
-#: src/virsh.c:3859 src/virsh.c:3901 src/virsh.c:3953
+#: src/virsh.c:3862 src/virsh.c:3904 src/virsh.c:3956
 msgid "vol name, key or path"
 msgstr ""
 
-#: src/virsh.c:3878
+#: src/virsh.c:3881
 #, c-format
 msgid "Vol %s deleted\n"
 msgstr ""
 
-#: src/virsh.c:3880
+#: src/virsh.c:3883
 #, c-format
 msgid "Failed to delete vol %s"
 msgstr ""
 
-#: src/virsh.c:3894
+#: src/virsh.c:3897
 msgid "storage vol information"
 msgstr ""
 
-#: src/virsh.c:3895
+#: src/virsh.c:3898
 msgid "Returns basic information about the storage vol."
 msgstr ""
 
-#: src/virsh.c:3923
+#: src/virsh.c:3926
 msgid "Type:"
 msgstr ""
 
-#: src/virsh.c:3925
+#: src/virsh.c:3928
 msgid "file"
 msgstr ""
 
-#: src/virsh.c:3925
+#: src/virsh.c:3928
 msgid "block"
 msgstr ""
 
-#: src/virsh.c:3946
+#: src/virsh.c:3949
 msgid "vol information in XML"
 msgstr ""
 
-#: src/virsh.c:3947
+#: src/virsh.c:3950
 msgid "Output the vol information as an XML dump to stdout."
 msgstr ""
 
-#: src/virsh.c:3988
+#: src/virsh.c:3991
 msgid "list vols"
 msgstr ""
 
-#: src/virsh.c:3989
+#: src/virsh.c:3992
 msgid "Returns list of vols by pool."
 msgstr ""
 
-#: src/virsh.c:4014 src/virsh.c:4022
+#: src/virsh.c:4017 src/virsh.c:4025
 msgid "Failed to list active vols"
 msgstr ""
 
-#: src/virsh.c:4030
+#: src/virsh.c:4033
 msgid "Path"
 msgstr ""
 
-#: src/virsh.c:4067
+#: src/virsh.c:4070
 msgid "convert a vol UUID to vol name"
 msgstr ""
 
-#: src/virsh.c:4072
+#: src/virsh.c:4075
 msgid "vol key or path"
 msgstr ""
 
-#: src/virsh.c:4100
+#: src/virsh.c:4103
 msgid "convert a vol UUID to vol key"
 msgstr ""
 
-#: src/virsh.c:4105
+#: src/virsh.c:4108
 msgid "vol uuid"
 msgstr ""
 
-#: src/virsh.c:4133
+#: src/virsh.c:4136
 msgid "convert a vol UUID to vol path"
 msgstr ""
 
-#: src/virsh.c:4139
+#: src/virsh.c:4142
 msgid "vol name or key"
 msgstr ""
 
-#: src/virsh.c:4170
+#: src/virsh.c:4173
 msgid "show version"
 msgstr ""
 
-#: src/virsh.c:4171
+#: src/virsh.c:4174
 msgid "Display the system version information."
 msgstr ""
 
-#: src/virsh.c:4194
+#: src/virsh.c:4197
 msgid "failed to get hypervisor type"
 msgstr ""
 
-#: src/virsh.c:4203
+#: src/virsh.c:4206
 #, c-format
 msgid "Compiled against library: libvir %d.%d.%d\n"
 msgstr ""
 
-#: src/virsh.c:4208
+#: src/virsh.c:4211
 msgid "failed to get the library version"
 msgstr ""
 
-#: src/virsh.c:4215
+#: src/virsh.c:4218
 #, c-format
 msgid "Using library: libvir %d.%d.%d\n"
 msgstr ""
 
-#: src/virsh.c:4222
+#: src/virsh.c:4225
 #, c-format
 msgid "Using API: %s %d.%d.%d\n"
 msgstr ""
 
-#: src/virsh.c:4227
+#: src/virsh.c:4230
 msgid "failed to get the hypervisor version"
 msgstr ""
 
-#: src/virsh.c:4232
+#: src/virsh.c:4235
 #, c-format
 msgid "Cannot extract running %s hypervisor version\n"
 msgstr ""
 
-#: src/virsh.c:4239
+#: src/virsh.c:4242
 #, c-format
 msgid "Running hypervisor: %s %d.%d.%d\n"
 msgstr ""
 
-#: src/virsh.c:4250
+#: src/virsh.c:4253
 msgid "print the hypervisor hostname"
 msgstr ""
 
-#: src/virsh.c:4264
+#: src/virsh.c:4267
 msgid "failed to get hostname"
 msgstr ""
 
-#: src/virsh.c:4279
+#: src/virsh.c:4282
 msgid "print the hypervisor canonical URI"
 msgstr ""
 
-#: src/virsh.c:4293
+#: src/virsh.c:4296
 msgid "failed to get URI"
 msgstr ""
 
-#: src/virsh.c:4308
+#: src/virsh.c:4311
 msgid "vnc display"
 msgstr ""
 
-#: src/virsh.c:4309
+#: src/virsh.c:4312
 msgid "Output the IP address and port number for the VNC display."
 msgstr ""
 
-#: src/virsh.c:4384
+#: src/virsh.c:4387
 msgid "tty console"
 msgstr ""
 
-#: src/virsh.c:4385
+#: src/virsh.c:4388
 msgid "Output the device for the TTY console."
 msgstr ""
 
-#: src/virsh.c:4445
+#: src/virsh.c:4448
 msgid "attach device from an XML file"
 msgstr ""
 
-#: src/virsh.c:4446
+#: src/virsh.c:4449
 msgid "Attach device from an XML <file>."
 msgstr ""
 
-#: src/virsh.c:4452 src/virsh.c:4509
+#: src/virsh.c:4455 src/virsh.c:4512
 msgid "XML file"
 msgstr ""
 
-#: src/virsh.c:4473
+#: src/virsh.c:4476
 msgid "attach-device: Missing <file> option"
 msgstr ""
 
-#: src/virsh.c:4487
+#: src/virsh.c:4490
 #, c-format
 msgid "Failed to attach device from %s"
 msgstr ""
 
-#: src/virsh.c:4502
+#: src/virsh.c:4505
 msgid "detach device from an XML file"
 msgstr ""
 
-#: src/virsh.c:4503
+#: src/virsh.c:4506
 msgid "Detach device from an XML <file>"
 msgstr ""
 
-#: src/virsh.c:4530
+#: src/virsh.c:4533
 msgid "detach-device: Missing <file> option"
 msgstr ""
 
-#: src/virsh.c:4544
+#: src/virsh.c:4547
 #, c-format
 msgid "Failed to detach device from %s"
 msgstr ""
 
-#: src/virsh.c:4559
+#: src/virsh.c:4562
 msgid "attach network interface"
 msgstr ""
 
-#: src/virsh.c:4560
+#: src/virsh.c:4563
 msgid "Attach new network interface."
 msgstr ""
 
-#: src/virsh.c:4566 src/virsh.c:4680
+#: src/virsh.c:4569 src/virsh.c:4683
 msgid "network interface type"
 msgstr ""
 
-#: src/virsh.c:4567
+#: src/virsh.c:4570
 msgid "source of network interface"
 msgstr ""
 
-#: src/virsh.c:4568
+#: src/virsh.c:4571
 msgid "target network name"
 msgstr ""
 
-#: src/virsh.c:4569 src/virsh.c:4681
+#: src/virsh.c:4572 src/virsh.c:4684
 msgid "MAC address"
 msgstr ""
 
-#: src/virsh.c:4570
+#: src/virsh.c:4573
 msgid "script used to bridge network interface"
 msgstr ""
 
-#: src/virsh.c:4602
+#: src/virsh.c:4605
 #, c-format
 msgid "No support %s in command 'attach-interface'"
 msgstr ""
 
-#: src/virsh.c:4673
+#: src/virsh.c:4676
 msgid "detach network interface"
 msgstr ""
 
-#: src/virsh.c:4674
+#: src/virsh.c:4677
 msgid "Detach network interface."
 msgstr ""
 
-#: src/virsh.c:4719 src/virsh.c:4724
+#: src/virsh.c:4722 src/virsh.c:4727
 msgid "Failed to get interface information"
 msgstr ""
 
-#: src/virsh.c:4732
+#: src/virsh.c:4735
 #, c-format
 msgid "No found interface whose type is %s"
 msgstr ""
 
-#: src/virsh.c:4754
+#: src/virsh.c:4757
 #, c-format
 msgid "No found interface whose MAC address is %s"
 msgstr ""
 
-#: src/virsh.c:4760 src/virsh.c:5034
+#: src/virsh.c:4763 src/virsh.c:5037
 msgid "Failed to allocate memory"
 msgstr ""
 
-#: src/virsh.c:4765 src/virsh.c:5039
+#: src/virsh.c:4768 src/virsh.c:5042
 msgid "Failed to create XML"
 msgstr ""
 
-#: src/virsh.c:4792
+#: src/virsh.c:4795
 msgid "attach disk device"
 msgstr ""
 
-#: src/virsh.c:4793
+#: src/virsh.c:4796
 msgid "Attach new disk device."
 msgstr ""
 
-#: src/virsh.c:4799
+#: src/virsh.c:4802
 msgid "source of disk device"
 msgstr ""
 
-#: src/virsh.c:4800 src/virsh.c:4962
+#: src/virsh.c:4803 src/virsh.c:4965
 msgid "target of disk device"
 msgstr ""
 
-#: src/virsh.c:4801
+#: src/virsh.c:4804
 msgid "driver of disk device"
 msgstr ""
 
-#: src/virsh.c:4802
+#: src/virsh.c:4805
 msgid "subdriver of disk device"
 msgstr ""
 
-#: src/virsh.c:4803
+#: src/virsh.c:4806
 msgid "target device type"
 msgstr ""
 
-#: src/virsh.c:4804
+#: src/virsh.c:4807
 msgid "mode of device reading and writing"
 msgstr ""
 
-#: src/virsh.c:4835 src/virsh.c:4844 src/virsh.c:4851
+#: src/virsh.c:4838 src/virsh.c:4847 src/virsh.c:4854
 #, c-format
 msgid "No support %s in command 'attach-disk'"
 msgstr ""
 
-#: src/virsh.c:4955
+#: src/virsh.c:4958
 msgid "detach disk device"
 msgstr ""
 
-#: src/virsh.c:4956
+#: src/virsh.c:4959
 msgid "Detach disk device."
 msgstr ""
 
-#: src/virsh.c:4997 src/virsh.c:5002 src/virsh.c:5009
+#: src/virsh.c:5000 src/virsh.c:5005 src/virsh.c:5012
 msgid "Failed to get disk information"
 msgstr ""
 
-#: src/virsh.c:5028
+#: src/virsh.c:5031
 #, c-format
 msgid "No found disk whose target is %s"
 msgstr ""
 
-#: src/virsh.c:5072
+#: src/virsh.c:5075
 #, c-format
 msgid "malloc: failed to allocate temporary file name: %s"
 msgstr ""
 
-#: src/virsh.c:5083
+#: src/virsh.c:5086
 #, c-format
 msgid "mkstemp: failed to create temporary file: %s"
 msgstr ""
 
-#: src/virsh.c:5090
+#: src/virsh.c:5093
 #, c-format
 msgid "write: %s: failed to write to temporary file: %s"
 msgstr ""
 
-#: src/virsh.c:5099
+#: src/virsh.c:5102
 #, c-format
 msgid "close: %s: failed to write or close temporary file: %s"
 msgstr ""
 
-#: src/virsh.c:5129
+#: src/virsh.c:5132
 #, c-format
 msgid ""
 "%s: $EDITOR environment variable contains shell meta or other unacceptable "
 "characters"
 msgstr ""
 
-#: src/virsh.c:5136
+#: src/virsh.c:5139
 #, c-format
 msgid ""
 "%s: temporary filename contains shell meta or other unacceptable characters "
 "(is $TMPDIR wrong?)"
 msgstr ""
 
-#: src/virsh.c:5143
+#: src/virsh.c:5146
 #, c-format
 msgid "asprintf: could not create editing command: %s"
 msgstr ""
 
-#: src/virsh.c:5151
+#: src/virsh.c:5154
 #, c-format
 msgid "%s: edit command failed: %s"
 msgstr ""
 
-#: src/virsh.c:5157
+#: src/virsh.c:5160
 #, c-format
 msgid "%s: command exited with non-zero status"
 msgstr ""
 
-#: src/virsh.c:5172
+#: src/virsh.c:5175
 #, c-format
 msgid "%s: failed to read temporary file: %s"
 msgstr ""
 
-#: src/virsh.c:5184
+#: src/virsh.c:5187
 msgid "edit XML configuration for a domain"
 msgstr ""
 
-#: src/virsh.c:5185
+#: src/virsh.c:5188
 msgid "Edit the XML configuration for a domain."
 msgstr ""
 
-#: src/virsh.c:5235
+#: src/virsh.c:5238
 #, c-format
 msgid "Domain %s XML configuration not changed.\n"
 msgstr ""
 
-#: src/virsh.c:5251
+#: src/virsh.c:5254
 msgid "ERROR: the XML configuration was changed by another user"
 msgstr ""
 
-#: src/virsh.c:5261
+#: src/virsh.c:5264
 #, c-format
 msgid "Domain %s XML configuration edited.\n"
 msgstr ""
 
-#: src/virsh.c:5287
+#: src/virsh.c:5290
 msgid "edit XML configuration for a network"
 msgstr ""
 
-#: src/virsh.c:5288
+#: src/virsh.c:5291
 msgid "Edit the XML configuration for a network."
 msgstr ""
 
-#: src/virsh.c:5305
+#: src/virsh.c:5308
 msgid "edit XML configuration for a storage pool"
 msgstr ""
 
-#: src/virsh.c:5306
+#: src/virsh.c:5309
 msgid "Edit the XML configuration for a storage pool."
 msgstr ""
 
-#: src/virsh.c:5323
+#: src/virsh.c:5326
 msgid "quit this interactive terminal"
 msgstr ""
 
-#: src/virsh.c:5497
+#: src/virsh.c:5500
 #, c-format
 msgid "command '%s' requires <%s> option"
 msgstr ""
 
-#: src/virsh.c:5498
+#: src/virsh.c:5501
 #, c-format
 msgid "command '%s' requires --%s option"
 msgstr ""
 
-#: src/virsh.c:5525
+#: src/virsh.c:5528
 #, c-format
 msgid "command '%s' doesn't exist"
 msgstr ""
 
-#: src/virsh.c:5533
+#: src/virsh.c:5536
 msgid "  NAME\n"
 msgstr ""
 
-#: src/virsh.c:5537
+#: src/virsh.c:5540
 msgid ""
 "\n"
 "  SYNOPSIS\n"
 msgstr ""
 
-#: src/virsh.c:5544
+#: src/virsh.c:5547
 msgid ""
 "\n"
 "  DESCRIPTION\n"
 msgstr ""
 
-#: src/virsh.c:5548
+#: src/virsh.c:5551
 msgid ""
 "\n"
 "  OPTIONS\n"
 msgstr ""
 
-#: src/virsh.c:5555
+#: src/virsh.c:5558
 #, c-format
 msgid "--%s <number>"
 msgstr ""
 
-#: src/virsh.c:5557
+#: src/virsh.c:5560
 #, c-format
 msgid "--%s <string>"
 msgstr ""
 
-#: src/virsh.c:5701
+#: src/virsh.c:5704
 msgid "undefined domain name or id"
 msgstr ""
 
-#: src/virsh.c:5733
+#: src/virsh.c:5736
 #, c-format
 msgid "failed to get domain '%s'"
 msgstr ""
 
-#: src/virsh.c:5746
+#: src/virsh.c:5749
 msgid "undefined network name"
 msgstr ""
 
-#: src/virsh.c:5770
+#: src/virsh.c:5773
 #, c-format
 msgid "failed to get network '%s'"
 msgstr ""
 
-#: src/virsh.c:5783 src/virsh.c:5829
+#: src/virsh.c:5786 src/virsh.c:5832
 msgid "undefined pool name"
 msgstr ""
 
-#: src/virsh.c:5807
+#: src/virsh.c:5810
 #, c-format
 msgid "failed to get pool '%s'"
 msgstr ""
 
-#: src/virsh.c:5824
+#: src/virsh.c:5827
 msgid "undefined vol name"
 msgstr ""
 
-#: src/virsh.c:5860
+#: src/virsh.c:5863
 #, c-format
 msgid "failed to get vol '%s'"
 msgstr ""
 
-#: src/virsh.c:5891
+#: src/virsh.c:5894
 #, c-format
 msgid ""
 "\n"
@@ -5557,128 +5513,128 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/virsh.c:5965
+#: src/virsh.c:5968
 msgid "missing \""
 msgstr ""
 
-#: src/virsh.c:6026
+#: src/virsh.c:6029
 #, c-format
 msgid "unexpected token (command name): '%s'"
 msgstr ""
 
-#: src/virsh.c:6031
+#: src/virsh.c:6034
 #, c-format
 msgid "unknown command: '%s'"
 msgstr ""
 
-#: src/virsh.c:6038
+#: src/virsh.c:6041
 #, c-format
 msgid "command '%s' doesn't support option --%s"
 msgstr ""
 
-#: src/virsh.c:6053
+#: src/virsh.c:6056
 #, c-format
 msgid "expected syntax: --%s <%s>"
 msgstr ""
 
-#: src/virsh.c:6056
+#: src/virsh.c:6059
 msgid "number"
 msgstr ""
 
-#: src/virsh.c:6056
+#: src/virsh.c:6059
 msgid "string"
 msgstr ""
 
-#: src/virsh.c:6062
+#: src/virsh.c:6065
 #, c-format
 msgid "unexpected data '%s'"
 msgstr ""
 
-#: src/virsh.c:6084
+#: src/virsh.c:6087
 msgid "OPTION"
 msgstr ""
 
-#: src/virsh.c:6084
+#: src/virsh.c:6087
 msgid "DATA"
 msgstr ""
 
-#: src/virsh.c:6135 src/virsh.c:6157
+#: src/virsh.c:6138 src/virsh.c:6160
 msgid "blocked"
 msgstr ""
 
-#: src/virsh.c:6137
+#: src/virsh.c:6140
 msgid "paused"
 msgstr ""
 
-#: src/virsh.c:6139
+#: src/virsh.c:6142
 msgid "in shutdown"
 msgstr ""
 
-#: src/virsh.c:6141
+#: src/virsh.c:6144
 msgid "shut off"
 msgstr ""
 
-#: src/virsh.c:6143
+#: src/virsh.c:6146
 msgid "crashed"
 msgstr ""
 
-#: src/virsh.c:6155
+#: src/virsh.c:6158
 msgid "offline"
 msgstr ""
 
-#: src/virsh.c:6174
+#: src/virsh.c:6177
 msgid "no valid connection"
 msgstr ""
 
-#: src/virsh.c:6221
+#: src/virsh.c:6224
 #, c-format
 msgid "%s: error: "
 msgstr ""
 
-#: src/virsh.c:6223
+#: src/virsh.c:6226
 msgid "error: "
 msgstr ""
 
-#: src/virsh.c:6245 src/virsh.c:6257 src/virsh.c:6270
+#: src/virsh.c:6248 src/virsh.c:6260 src/virsh.c:6273
 #, c-format
 msgid "%s: %d: failed to allocate %d bytes"
 msgstr ""
 
-#: src/virsh.c:6284
+#: src/virsh.c:6287
 #, c-format
 msgid "%s: %d: failed to allocate %lu bytes"
 msgstr ""
 
-#: src/virsh.c:6313
+#: src/virsh.c:6316
 msgid "failed to connect to the hypervisor"
 msgstr ""
 
-#: src/virsh.c:6345
+#: src/virsh.c:6348
 msgid "failed to get the log file information"
 msgstr ""
 
-#: src/virsh.c:6350
+#: src/virsh.c:6353
 msgid "the log path is not a file"
 msgstr ""
 
-#: src/virsh.c:6357
+#: src/virsh.c:6360
 msgid "failed to open the log file. check the log file path"
 msgstr ""
 
-#: src/virsh.c:6425
+#: src/virsh.c:6428
 msgid "failed to write the log file"
 msgstr ""
 
-#: src/virsh.c:6440
+#: src/virsh.c:6443
 #, c-format
 msgid "%s: failed to write log file: %s"
 msgstr ""
 
-#: src/virsh.c:6617
+#: src/virsh.c:6620
 msgid "failed to disconnect from the hypervisor"
 msgstr ""
 
-#: src/virsh.c:6635
+#: src/virsh.c:6638
 #, c-format
 msgid ""
 "\n"
@@ -5697,26 +5653,26 @@ msgid ""
 "  commands (non interactive mode):\n"
 msgstr ""
 
-#: src/virsh.c:6653
+#: src/virsh.c:6656
 msgid ""
 "\n"
 "  (specify help <command> for details about the command)\n"
 "\n"
 msgstr ""
 
-#: src/virsh.c:6749
+#: src/virsh.c:6752
 #, c-format
 msgid "unsupported option '-%c'. See --help."
 msgstr ""
 
-#: src/virsh.c:6835
+#: src/virsh.c:6838
 #, c-format
 msgid ""
 "Welcome to %s, the virtualization interactive terminal.\n"
 "\n"
 msgstr ""
 
-#: src/virsh.c:6838
+#: src/virsh.c:6841
 msgid ""
 "Type:  'help' for help with commands\n"
 "       'quit' to quit\n"
@@ -6143,405 +6099,405 @@ msgstr ""
 msgid "Failed to find a storage driver: %s"
 msgstr ""
 
-#: src/xen_internal.c:1326
+#: src/xen_internal.c:1324
 #, c-format
 msgid "Credit scheduler weight parameter (%d) is out of range (1-65535)"
 msgstr ""
 
-#: src/xen_internal.c:1336
+#: src/xen_internal.c:1334
 #, c-format
 msgid "Credit scheduler cap parameter (%d) is out of range (0-65535)"
 msgstr ""
 
-#: src/xen_internal.c:2514
+#: src/xen_internal.c:2512
 #, c-format
 msgid "allocating %d domain info"
 msgstr ""
 
-#: src/xend_internal.c:186
+#: src/xend_internal.c:185
 msgid "failed to create a socket"
 msgstr ""
 
-#: src/xend_internal.c:208
+#: src/xend_internal.c:207
 msgid "failed to connect to xend"
 msgstr ""
 
-#: src/xend_internal.c:255 src/xend_internal.c:258
+#: src/xend_internal.c:254 src/xend_internal.c:257
 msgid "failed to read from Xen Daemon"
 msgstr ""
 
-#: src/xend_internal.c:446
+#: src/xend_internal.c:445
 #, c-format
 msgid "xend_get: error from xen daemon: %s"
 msgstr ""
 
-#: src/xend_internal.c:496 src/xend_internal.c:499 src/xend_internal.c:507
+#: src/xend_internal.c:495 src/xend_internal.c:498 src/xend_internal.c:506
 #, c-format
 msgid "xend_post: error from xen daemon: %s"
 msgstr ""
 
-#: src/xend_internal.c:765
+#: src/xend_internal.c:764
 msgid "allocate new buffer"
 msgstr ""
 
-#: src/xend_internal.c:898
+#: src/xend_internal.c:897
 #, c-format
 msgid "gethostbyname failed: %s"
 msgstr ""
 
-#: src/xend_internal.c:1019
+#: src/xend_internal.c:1018
 msgid "failed to urlencode the create S-Expr"
 msgstr ""
 
-#: src/xend_internal.c:1060
+#: src/xend_internal.c:1059
 msgid "domain information incomplete, missing domid"
 msgstr ""
 
-#: src/xend_internal.c:1066
+#: src/xend_internal.c:1065
 msgid "domain information incorrect domid not numeric"
 msgstr ""
 
-#: src/xend_internal.c:1071 src/xend_internal.c:1118
+#: src/xend_internal.c:1070 src/xend_internal.c:1117
 msgid "domain information incomplete, missing uuid"
 msgstr ""
 
-#: src/xend_internal.c:1110 src/xend_internal.c:2205 src/xend_internal.c:2212
+#: src/xend_internal.c:1109 src/xend_internal.c:2204 src/xend_internal.c:2211
 msgid "domain information incomplete, missing name"
 msgstr ""
 
-#: src/xend_internal.c:1199
+#: src/xend_internal.c:1198
 msgid "domain information incomplete, missing HVM loader"
 msgstr ""
 
-#: src/xend_internal.c:1253
+#: src/xend_internal.c:1252
 msgid "domain information incomplete, missing kernel & bootloader"
 msgstr ""
 
-#: src/xend_internal.c:1317
+#: src/xend_internal.c:1316
 msgid "Unknown char device type"
 msgstr ""
 
-#: src/xend_internal.c:1351 src/xend_internal.c:1391 src/xend_internal.c:1407
-#: src/xend_internal.c:1546 src/xend_internal.c:1574 src/xend_internal.c:1590
+#: src/xend_internal.c:1350 src/xend_internal.c:1390 src/xend_internal.c:1406
+#: src/xend_internal.c:1545 src/xend_internal.c:1573 src/xend_internal.c:1589
 msgid "malformed char device string"
 msgstr ""
 
-#: src/xend_internal.c:1474
+#: src/xend_internal.c:1473
 msgid "no memory for char device config"
 msgstr ""
 
-#: src/xend_internal.c:1519
+#: src/xend_internal.c:1518
 #, c-format
 msgid "unknown chr device type '%s'"
 msgstr ""
 
-#: src/xend_internal.c:1681
+#: src/xend_internal.c:1680
 msgid "domain information incomplete, vbd has no dev"
 msgstr ""
 
-#: src/xend_internal.c:1692
+#: src/xend_internal.c:1691
 msgid "domain information incomplete, vbd has no src"
 msgstr ""
 
-#: src/xend_internal.c:1701
+#: src/xend_internal.c:1700
 msgid "cannot parse vbd filename, missing driver name"
 msgstr ""
 
-#: src/xend_internal.c:1716
+#: src/xend_internal.c:1715
 msgid "cannot parse vbd filename, missing driver type"
 msgstr ""
 
-#: src/xend_internal.c:1858
+#: src/xend_internal.c:1857
 #, c-format
 msgid "malformed mac address '%s'"
 msgstr ""
 
-#: src/xend_internal.c:1935
+#: src/xend_internal.c:1934
 #, c-format
 msgid "unexpected sound model %s"
 msgstr ""
 
-#: src/xend_internal.c:2110
+#: src/xend_internal.c:2109
 #, c-format
 msgid "unknown graphics type '%s'"
 msgstr ""
 
-#: src/xend_internal.c:2192
+#: src/xend_internal.c:2191
 msgid "domain information incomplete, missing id"
 msgstr ""
 
-#: src/xend_internal.c:2261 src/xend_internal.c:2271 src/xend_internal.c:2281
+#: src/xend_internal.c:2260 src/xend_internal.c:2270 src/xend_internal.c:2280
 #, c-format
 msgid "unknown lifecycle type %s"
 msgstr ""
 
-#: src/xend_internal.c:2594
+#: src/xend_internal.c:2593
 msgid "failed to parse topology information"
 msgstr ""
 
-#: src/xend_internal.c:2648
+#: src/xend_internal.c:2647
 msgid "topology syntax error"
 msgstr ""
 
-#: src/xend_internal.c:2712
+#: src/xend_internal.c:2711
 msgid "failed to parse Xend domain information"
 msgstr ""
 
-#: src/xend_internal.c:3194
+#: src/xend_internal.c:3193
 msgid "xenDaemonDomainFetch failed to find this domain"
 msgstr ""
 
-#: src/xend_internal.c:3816 src/xend_internal.c:4292 src/xm_internal.c:1638
+#: src/xend_internal.c:3815 src/xend_internal.c:4291 src/xm_internal.c:1637
 msgid "failed to build sexpr"
 msgstr ""
 
-#: src/xend_internal.c:3918
+#: src/xend_internal.c:3917
 msgid "unsupported device type"
 msgstr ""
 
-#: src/xend_internal.c:4021
+#: src/xend_internal.c:4020
 msgid "xenDaemonGetAutostart failed to find this domain"
 msgstr ""
 
-#: src/xend_internal.c:4062
+#: src/xend_internal.c:4061
 msgid "xenDaemonSetAutostart failed to find this domain"
 msgstr ""
 
-#: src/xend_internal.c:4070
+#: src/xend_internal.c:4069
 msgid "unexpected value from on_xend_start"
 msgstr ""
 
-#: src/xend_internal.c:4081
+#: src/xend_internal.c:4080
 msgid "no memory"
 msgstr ""
 
-#: src/xend_internal.c:4087
+#: src/xend_internal.c:4086
 msgid "sexpr2string failed"
 msgstr ""
 
-#: src/xend_internal.c:4092
+#: src/xend_internal.c:4091
 msgid "Failed to redefine sexpr"
 msgstr ""
 
-#: src/xend_internal.c:4097
+#: src/xend_internal.c:4096
 msgid "on_xend_start not present in sexpr"
 msgstr ""
 
-#: src/xend_internal.c:4128
+#: src/xend_internal.c:4127
 #, c-format
 msgid "gethostname failed: %s"
 msgstr ""
 
-#: src/xend_internal.c:4134
+#: src/xend_internal.c:4133
 #, c-format
 msgid "failed to strdup hostname: %s"
 msgstr ""
 
-#: src/xend_internal.c:4165
+#: src/xend_internal.c:4164
 msgid ""
 "xenDaemonDomainMigrate: Xen does not support renaming domains during "
 "migration"
 msgstr ""
 
-#: src/xend_internal.c:4175
+#: src/xend_internal.c:4174
 msgid ""
 "xenDaemonDomainMigrate: Xen does not support bandwidth limits during "
 "migration"
 msgstr ""
 
-#: src/xend_internal.c:4187
+#: src/xend_internal.c:4186
 msgid "xenDaemonDomainMigrate: unsupported flag"
 msgstr ""
 
-#: src/xend_internal.c:4200
+#: src/xend_internal.c:4199
 msgid "xenDaemonDomainMigrate: invalid URI"
 msgstr ""
 
-#: src/xend_internal.c:4205
+#: src/xend_internal.c:4204
 msgid "xenDaemonDomainMigrate: only xenmigr:// migrations are supported by Xen"
 msgstr ""
 
-#: src/xend_internal.c:4212
+#: src/xend_internal.c:4211
 msgid "xenDaemonDomainMigrate: a hostname must be specified in the URI"
 msgstr ""
 
-#: src/xend_internal.c:4219 src/xend_internal.c:4241 src/xend_internal.c:4249
-#: src/xend_internal.c:4474 src/xend_internal.c:4481 src/xml.c:89
+#: src/xend_internal.c:4218 src/xend_internal.c:4240 src/xend_internal.c:4248
+#: src/xend_internal.c:4473 src/xend_internal.c:4480 src/xml.c:89
 msgid "strdup failed"
 msgstr ""
 
-#: src/xend_internal.c:4232
+#: src/xend_internal.c:4231
 msgid "xenDaemonDomainMigrate: invalid port number"
 msgstr ""
 
-#: src/xend_internal.c:4286
+#: src/xend_internal.c:4285
 msgid "failed to parse domain description"
 msgstr ""
 
-#: src/xend_internal.c:4300
+#: src/xend_internal.c:4299
 #, c-format
 msgid "Failed to create inactive domain %s\n"
 msgstr ""
 
-#: src/xend_internal.c:4456 src/xend_internal.c:4532 src/xend_internal.c:4622
+#: src/xend_internal.c:4455 src/xend_internal.c:4531 src/xend_internal.c:4621
 msgid "unsupported in xendConfigVersion < 4"
 msgstr ""
 
-#: src/xend_internal.c:4468
+#: src/xend_internal.c:4467
 msgid "node information incomplete, missing scheduler name"
 msgstr ""
 
-#: src/xend_internal.c:4486 src/xend_internal.c:4580 src/xend_internal.c:4692
+#: src/xend_internal.c:4485 src/xend_internal.c:4579 src/xend_internal.c:4691
 msgid "Unknown scheduler"
 msgstr ""
 
-#: src/xend_internal.c:4545 src/xend_internal.c:4635
+#: src/xend_internal.c:4544 src/xend_internal.c:4634
 msgid "Failed to get a scheduler name"
 msgstr ""
 
-#: src/xend_internal.c:4558 src/xend_internal.c:4671
+#: src/xend_internal.c:4557 src/xend_internal.c:4670
 msgid "domain information incomplete, missing cpu_weight"
 msgstr ""
 
-#: src/xend_internal.c:4563 src/xend_internal.c:4680
+#: src/xend_internal.c:4562 src/xend_internal.c:4679
 msgid "domain information incomplete, missing cpu_cap"
 msgstr ""
 
-#: src/xend_internal.c:4739
+#: src/xend_internal.c:4738
 msgid "domainBlockPeek is not supported for dom0"
 msgstr ""
 
-#: src/xend_internal.c:4762
+#: src/xend_internal.c:4761
 #, c-format
 msgid "%s: invalid path"
 msgstr ""
 
-#: src/xend_internal.c:4770
+#: src/xend_internal.c:4769
 #, c-format
 msgid "failed to open for reading: %s: %s"
 msgstr ""
 
-#: src/xend_internal.c:4782
+#: src/xend_internal.c:4781
 #, c-format
 msgid "failed to lseek or read from file: %s: %s"
 msgstr ""
 
-#: src/xend_internal.c:4865 src/xend_internal.c:4911
+#: src/xend_internal.c:4864 src/xend_internal.c:4910
 #, c-format
 msgid "unexpected graphics type %d"
 msgstr ""
 
-#: src/xend_internal.c:4954
+#: src/xend_internal.c:4953
 msgid "unexpected chr device type"
 msgstr ""
 
-#: src/xend_internal.c:5128 src/xm_internal.c:1800
+#: src/xend_internal.c:5127 src/xm_internal.c:1799
 #, c-format
 msgid "unsupported network type %d"
 msgstr ""
 
-#: src/xend_internal.c:5302 src/xend_internal.c:5309 src/xend_internal.c:5316
+#: src/xend_internal.c:5301 src/xend_internal.c:5308 src/xend_internal.c:5315
 #, c-format
 msgid "unexpected lifecycle value %d"
 msgstr ""
 
-#: src/xend_internal.c:5333
+#: src/xend_internal.c:5332
 msgid "no HVM domain loader"
 msgstr ""
 
-#: src/xend_internal.c:5544
+#: src/xend_internal.c:5543
 msgid "hotplug of device type not supported"
 msgstr ""
 
-#: src/xm_internal.c:194 src/xm_internal.c:225 src/xm_internal.c:230
-#: src/xm_internal.c:253
+#: src/xm_internal.c:193 src/xm_internal.c:224 src/xm_internal.c:229
+#: src/xm_internal.c:252
 #, c-format
 msgid "config value %s was malformed"
 msgstr ""
 
-#: src/xm_internal.c:275 src/xm_internal.c:288
+#: src/xm_internal.c:274 src/xm_internal.c:287
 #, c-format
 msgid "config value %s was missing"
 msgstr ""
 
-#: src/xm_internal.c:281
+#: src/xm_internal.c:280
 #, c-format
 msgid "config value %s was not a string"
 msgstr ""
 
-#: src/xm_internal.c:509
+#: src/xm_internal.c:508
 msgid "xenXMConfigCacheRefresh: virHashAddEntry"
 msgstr ""
 
-#: src/xm_internal.c:747
+#: src/xm_internal.c:746
 #, c-format
 msgid "unexpected value %s for on_poweroff"
 msgstr ""
 
-#: src/xm_internal.c:755
+#: src/xm_internal.c:754
 #, c-format
 msgid "unexpected value %s for on_reboot"
 msgstr ""
 
-#: src/xm_internal.c:763
+#: src/xm_internal.c:762
 #, c-format
 msgid "unexpected value %s for on_crash"
 msgstr ""
 
-#: src/xm_internal.c:802
+#: src/xm_internal.c:801
 msgid "unsupported guest type"
 msgstr ""
 
-#: src/xm_internal.c:1463
+#: src/xm_internal.c:1462
 msgid "read only connection"
 msgstr ""
 
-#: src/xm_internal.c:1468
+#: src/xm_internal.c:1467
 msgid "not inactive domain"
 msgstr ""
 
-#: src/xm_internal.c:1473
+#: src/xm_internal.c:1472
 msgid "virHashLookup"
 msgstr ""
 
-#: src/xm_internal.c:1478
+#: src/xm_internal.c:1477
 msgid "can't retrieve config file for domain"
 msgstr ""
 
-#: src/xm_internal.c:1973 src/xm_internal.c:1982 src/xm_internal.c:1991
+#: src/xm_internal.c:1972 src/xm_internal.c:1981 src/xm_internal.c:1990
 #, c-format
 msgid "unexpected lifecycle action %d"
 msgstr ""
 
-#: src/xm_internal.c:2269
+#: src/xm_internal.c:2268
 msgid "can't retrieve config filename for domain to overwrite"
 msgstr ""
 
-#: src/xm_internal.c:2275
+#: src/xm_internal.c:2274
 msgid "can't retrieve config entry for domain to overwrite"
 msgstr ""
 
-#: src/xm_internal.c:2286 src/xm_internal.c:2293
+#: src/xm_internal.c:2285 src/xm_internal.c:2292
 msgid "failed to remove old domain from config map"
 msgstr ""
 
-#: src/xm_internal.c:2302
+#: src/xm_internal.c:2301
 msgid "config file name is too long"
 msgstr ""
 
-#: src/xm_internal.c:2314
+#: src/xm_internal.c:2313
 msgid "config"
 msgstr ""
 
-#: src/xm_internal.c:2320
+#: src/xm_internal.c:2319
 msgid "unable to get current time"
 msgstr ""
 
-#: src/xm_internal.c:2329 src/xm_internal.c:2336
+#: src/xm_internal.c:2328 src/xm_internal.c:2335
 msgid "unable to store config file handle"
 msgstr ""
 
-#: src/xm_internal.c:2540 src/xm_internal.c:2660
+#: src/xm_internal.c:2539 src/xm_internal.c:2659
 msgid "unknown device"
 msgstr ""
 
@@ -6617,6 +6573,6 @@ msgstr ""
 msgid "allocate new context"
 msgstr ""
 
-#: src/xs_internal.c:319
+#: src/xs_internal.c:318
 msgid "failed to connect to Xen Store"
 msgstr ""
diff --git a/qemud/Makefile.am b/qemud/Makefile.am
index abf5e0976a..634c016f28 100644
--- a/qemud/Makefile.am
+++ b/qemud/Makefile.am
@@ -2,19 +2,30 @@
 
 INCLUDES = $(LIBVIRT_FEATURES)
 
-# Distribute the generated files so that rpcgen isn't required on the
-# target machine (although almost any Unix machine will have it).
-EXTRA_DIST = libvirtd.init.in libvirtd.sysconf default-network.xml \
-	remote_protocol.x \
-	remote_protocol.c remote_protocol.h \
-	remote_generate_stubs.pl rpcgen_fix.pl \
-	remote_dispatch_prototypes.h \
-	remote_dispatch_localvars.h \
-	remote_dispatch_proc_switch.h \
-	mdns.c mdns.h \
-        libvirtd.sasl \
-        libvirtd.conf \
-        libvirtd.policy
+DAEMON_SOURCES =					\
+		event.c event.h				\
+		qemud.c qemud.h				\
+		remote.c				\
+		remote_dispatch_prototypes.h		\
+		remote_dispatch_localvars.h		\
+		remote_dispatch_proc_switch.h		\
+		remote_protocol.h remote_protocol.c	\
+		$(srcdir)/../src/util-lib.c
+
+AVAHI_SOURCES =						\
+		mdns.c mdns.h
+
+EXTRA_DIST =						\
+	default-network.xml				\
+	remote_generate_stubs.pl rpcgen_fix.pl		\
+	remote_protocol.x				\
+	libvirtd.conf					\
+	libvirtd.init.in				\
+	libvirtd.policy					\
+	libvirtd.sasl					\
+	libvirtd.sysconf				\
+	$(AVAHI_SOURCES)				\
+	$(DAEMON_SOURCES)
 
 if RPCGEN
 SUFFIXES = .x
@@ -45,12 +56,7 @@ sbin_PROGRAMS = libvirtd
 confdir = $(sysconfdir)/libvirt/
 conf_DATA = libvirtd.conf
 
-libvirtd_SOURCES = \
-		qemud.c qemud.h \
-		remote_protocol.h remote_protocol.c \
-		remote.c \
-		$(srcdir)/../src/util-lib.c \
-		event.c event.h
+libvirtd_SOURCES = $(DAEMON_SOURCES)
 
 #-D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_POSIX_C_SOURCE=199506L
 libvirtd_CFLAGS = \
@@ -79,7 +85,7 @@ policydir = $(datadir)/PolicyKit/policy
 endif
 
 if HAVE_AVAHI
-libvirtd_SOURCES += mdns.c mdns.h
+libvirtd_SOURCES += $(AVAHI_SOURCES)
 libvirtd_CFLAGS += $(AVAHI_CFLAGS)
 libvirtd_LDADD += $(AVAHI_LIBS)
 endif
diff --git a/src/Makefile.am b/src/Makefile.am
index 532b940a2a..879741284a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -30,80 +30,176 @@ EXTRA_DIST = libvirt_sym.version $(conf_DATA)
 
 lib_LTLIBRARIES = libvirt.la
 
-CLIENT_SOURCES =						\
-		libvirt.c internal.h				\
-		gnutls_1_0_compat.h				\
-		socketcompat.h					\
-                memory.c memory.h				\
-		hash.c hash.h					\
-		test.c test.h                                   \
-                buf.c buf.h					\
-		qparams.c qparams.h				\
-                domain_conf.c domain_conf.h                     \
-                capabilities.c capabilities.h			\
-		xml.c xml.h					\
-		event.c event.h					\
-		xen_unified.c xen_unified.h			\
-		xen_internal.c xen_internal.h			\
-		xs_internal.c xs_internal.h			\
-		xend_internal.c xend_internal.h			\
-		stats_linux.c stats_linux.h			\
-		sexpr.c sexpr.h					\
-		virterror.c					\
-		driver.h					\
-		proxy_internal.c proxy_internal.h		\
-		conf.c conf.h                                   \
-		network_conf.c network_conf.h                   \
-		xm_internal.c xm_internal.h                     \
-		remote_internal.c remote_internal.h		\
+# These files are not related to driver APIs. Simply generic
+# helper APIs for various purposes
+GENERIC_LIB_SOURCES =						\
 		bridge.c bridge.h				\
+		buf.c buf.h					\
+		conf.c conf.h					\
+		event.c event.h					\
 		iptables.c iptables.h				\
+		memory.c memory.h				\
+		qparams.c qparams.h				\
+		stats_linux.c stats_linux.h			\
 		uuid.c uuid.h					\
-		qemu_driver.c qemu_driver.h			\
-		qemu_conf.c qemu_conf.h				\
-		openvz_conf.c openvz_conf.h			\
-		openvz_driver.c openvz_driver.h			\
-		lxc_driver.c lxc_driver.h			\
-		lxc_controller.c lxc_controller.h		\
+		util.c util.h					\
+		virterror.c					\
+		xml.c xml.h
+
+# Domain driver generic impl APIs
+DOMAIN_CONF_SOURCES =						\
+		capabilities.c capabilities.h			\
+		domain_conf.c domain_conf.h			\
+		nodeinfo.h nodeinfo.c
+
+# Network driver generic impl APIs
+NETWORK_CONF_SOURCES =						\
+		network_conf.c network_conf.h
+
+# Storage driver generic impl APIs
+STORAGE_CONF_SOURCES =						\
+		storage_conf.h storage_conf.c
+
+
+# The remote RPC driver, covering domains, storage, networks, etc
+REMOTE_DRIVER_SOURCES =						\
+		gnutls_1_0_compat.h				\
+		remote_internal.c remote_internal.h		\
+		../qemud/remote_protocol.c			\
+		../qemud/remote_protocol.h			\
+		socketcompat.h
+
+# Mock driver, covering domains, storage, networks, etc
+TEST_DRIVER_SOURCES =						\
+		test.c test.h
+
+
+
+# Now the Hypervisor specific drivers
+XEN_DRIVER_SOURCES =						\
+		proxy_internal.c proxy_internal.h		\
+		sexpr.c sexpr.h					\
+		xen_internal.c xen_internal.h			\
+		xen_unified.c xen_unified.h			\
+		xend_internal.c xend_internal.h			\
+		xm_internal.c xm_internal.h			\
+		xs_internal.c xs_internal.h
+
+LXC_DRIVER_SOURCES =						\
 		lxc_conf.c lxc_conf.h				\
 		lxc_container.c lxc_container.h			\
-		veth.c veth.h			\
-                nodeinfo.h nodeinfo.c                           \
-		util.c util.h
+		lxc_controller.c lxc_controller.h		\
+		lxc_driver.c lxc_driver.h			\
+		veth.c veth.h
 
-SERVER_SOURCES =						\
-		../qemud/remote_protocol.c ../qemud/remote_protocol.h
+OPENVZ_DRIVER_SOURCES =						\
+		openvz_conf.c openvz_conf.h			\
+		openvz_driver.c openvz_driver.h
 
-if WITH_LIBVIRTD
+# XXX network driver should be split out of this
+QEMU_DRIVER_SOURCES =						\
+		qemu_conf.c qemu_conf.h				\
+		qemu_driver.c qemu_driver.h
 
-CLIENT_SOURCES += 						\
-		storage_conf.h storage_conf.c			\
+
+# And finally storage backend specific impls
+STORAGE_DRIVER_SOURCES =					\
 		storage_driver.h storage_driver.c		\
-		storage_backend.h storage_backend.c		\
+		storage_backend.h storage_backend.c
+
+STORAGE_DRIVER_FS_SOURCES =					\
 		storage_backend_fs.h storage_backend_fs.c
 
+STORAGE_DRIVER_LVM_SOURCES =					\
+		storage_backend_logical.h 			\
+		storage_backend_logical.c
+
+STORAGE_DRIVER_ISCSI_SOURCES =					\
+		storage_backend_iscsi.h storage_backend_iscsi.c
+
+STORAGE_DRIVER_DISK_SOURCES =					\
+		storage_backend_disk.h storage_backend_disk.c
+
+STORAGE_HELPER_DISK_SOURCES =					\
+		parthelper.c
+
+
+
+#########################
+#
+# Build up list of libvirt.la source files based on configure conditions
+#
+# First deal with sources usable in non-daemon context
+
+libvirt_la_SOURCES =						\
+		driver.h					\
+		hash.c hash.h					\
+		internal.h					\
+		libvirt.c					\
+		$(GENERIC_LIB_SOURCES)				\
+		$(DOMAIN_CONF_SOURCES)				\
+		$(NETWORK_CONF_SOURCES)				\
+		$(STORAGE_CONF_SOURCES)
+
+# Drivers usable outside daemon context
+if WITH_TEST
+libvirt_la_SOURCES += $(TEST_DRIVER_SOURCES)
+endif
+
+if WITH_REMOTE
+libvirt_la_SOURCES += $(REMOTE_DRIVER_SOURCES)
+endif
+
+if WITH_XEN
+libvirt_la_SOURCES += $(XEN_DRIVER_SOURCES)
+endif
+
+
+# Drivers usable inside daemon context
+if WITH_LIBVIRTD
+libvirt_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
+libvirt_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
+
+if WITH_QEMU
+libvirt_la_SOURCES += $(QEMU_DRIVER_SOURCES)
+endif
+
+if WITH_LXC
+libvirt_la_SOURCES += $(LXC_DRIVER_SOURCES)
+endif
+
+if WITH_OPENVZ
+libvirt_la_SOURCES += $(OPENVZ_DRIVER_SOURCES)
+endif
+
 if WITH_STORAGE_LVM
-CLIENT_SOURCES += storage_backend_logical.h storage_backend_logical.c
-else
-EXTRA_DIST += storage_backend_logical.h storage_backend_logical.c
+libvirt_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
 endif
 
 if WITH_STORAGE_ISCSI
-CLIENT_SOURCES +=  storage_backend_iscsi.h storage_backend_iscsi.c
-else
-EXTRA_DIST +=  storage_backend_iscsi.h storage_backend_iscsi.c
+libvirt_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
 endif
 
 if WITH_STORAGE_DISK
-CLIENT_SOURCES += storage_backend_disk.h storage_backend_disk.c
-else
-EXTRA_DIST += storage_backend_disk.h storage_backend_disk.c
+libvirt_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
+endif
 endif
 
-endif
+# Add all conditional sources just in case...
+EXTRA_DIST +=							\
+		$(TEST_DRIVER_SOURCES)				\
+		$(REMOTE_DRIVER_SOURCES)			\
+		$(XEN_DRIVER_SOURCES)				\
+		$(QEMU_DRIVER_SOURCES)				\
+		$(LXC_DRIVER_SOURCES)				\
+		$(OPENVZ_DRIVER_SOURCES)			\
+		$(STORAGE_DRIVER_SOURCES)			\
+		$(STORAGE_DRIVER_FS_SOURCES)			\
+		$(STORAGE_DRIVER_LVM_SOURCES)			\
+		$(STORAGE_DRIVER_ISCSI_SOURCES)			\
+		$(STORAGE_DRIVER_DISK_SOURCES)
 
 
-libvirt_la_SOURCES = $(CLIENT_SOURCES) $(SERVER_SOURCES)
 libvirt_la_LIBADD = $(LIBXML_LIBS) $(GNUTLS_LIBS) $(SASL_LIBS) $(SELINUX_LIBS) \
                     $(NUMACTL_LIBS) \
 		    @CYGWIN_EXTRA_LIBADD@ ../gnulib/lib/libgnu.la
@@ -134,7 +230,11 @@ libvirt_test_la_CFLAGS = $(COVERAGE_CFLAGS)
 
 bin_PROGRAMS = virsh
 
-virsh_SOURCES = virsh.c console.c console.h util-lib.c util-lib.h
+virsh_SOURCES =							\
+		console.c console.h				\
+		util-lib.c util-lib.h				\
+		virsh.c
+
 virsh_LDFLAGS = $(WARN_CFLAGS) $(COVERAGE_LDFLAGS)
 virsh_DEPENDENCIES = $(DEPS)
 virsh_LDADD = $(LDADDS) $(VIRSH_LIBS)
@@ -176,14 +276,14 @@ if WITH_STORAGE_DISK
 if WITH_LIBVIRTD
 libexec_PROGRAMS = libvirt_parthelper
 
-libvirt_parthelper_SOURCES = parthelper.c
+libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
 libvirt_parthelper_LDFLAGS = $(WARN_CFLAGS) $(COVERAGE_LDCFLAGS)
 libvirt_parthelper_LDADD = $(LIBPARTED_LIBS)
 libvirt_parthelper_CFLAGS =  $(LIBPARTED_CFLAGS)
 endif
-else
-EXTRA_DIST += parthelper.c
 endif
+EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)
+
 
 # Create the /var/cache/libvirt directory when installing.
 install-exec-local:
diff --git a/src/bridge.c b/src/bridge.c
index 1b24a86971..f78b471f7a 100644
--- a/src/bridge.c
+++ b/src/bridge.c
@@ -21,7 +21,7 @@
 
 #include <config.h>
 
-#ifdef WITH_QEMU
+#if defined(WITH_QEMU) || defined(WITH_LXC)
 
 #include "bridge.h"
 
@@ -750,4 +750,4 @@ brSetEnableSTP(brControl *ctl ATTRIBUTE_UNUSED,
     return retval;
 }
 
-#endif /* WITH_QEMU */
+#endif /* WITH_QEMU || WITH_LXC */
diff --git a/src/bridge.h b/src/bridge.h
index 03076e3b7c..7eb6166e19 100644
--- a/src/bridge.h
+++ b/src/bridge.h
@@ -24,7 +24,7 @@
 
 #include <config.h>
 
-#ifdef WITH_QEMU
+#if defined(WITH_QEMU) || defined(WITH_LXC)
 
 #include <net/if.h>
 #include <netinet/in.h>
@@ -98,6 +98,6 @@ int     brGetEnableSTP          (brControl *ctl,
                                  const char *bridge,
                                  int *enable);
 
-#endif /* WITH_QEMU */
+#endif /* WITH_QEMU || WITH_LXC */
 
 #endif /* __QEMUD_BRIDGE_H__ */
diff --git a/src/conf.h b/src/conf.h
index d48a309b13..83dcd53c38 100644
--- a/src/conf.h
+++ b/src/conf.h
@@ -11,10 +11,6 @@
 #ifndef __VIR_CONF_H__
 #define __VIR_CONF_H__
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /**
  * virConfType:
  * one of the possible type for a value from the configuration file
@@ -93,7 +89,4 @@ int		__virConfWriteMem	(char *memory,
 #define virConfWriteFile(f,c) __virConfWriteFile((f),(c))
 #define virConfWriteMem(m,l,c) __virConfWriteMem((m),(l),(c))
 
-#ifdef __cplusplus
-}
-#endif
 #endif /* __VIR_CONF_H__ */
diff --git a/src/console.h b/src/console.h
index f36791b7ed..6bb1865de7 100644
--- a/src/console.h
+++ b/src/console.h
@@ -25,15 +25,7 @@
 
 #ifndef __MINGW32__
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    int vshRunConsole(const char *tty);
-
-#ifdef __cplusplus
-}
-#endif
+int vshRunConsole(const char *tty);
 
 #endif /* !__MINGW32__ */
 
diff --git a/src/driver.h b/src/driver.h
index e060a38b9f..eb428a0a51 100644
--- a/src/driver.h
+++ b/src/driver.h
@@ -13,10 +13,6 @@
 
 #include <signal.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /*
  * List of registered drivers numbers
  */
@@ -611,7 +607,4 @@ int virRegisterStorageDriver(virStorageDriverPtr);
 int virRegisterStateDriver(virStateDriverPtr);
 #endif
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
 #endif /* __VIR_DRIVER_H__ */
diff --git a/src/hash.h b/src/hash.h
index 5b7bf3e566..777890991e 100644
--- a/src/hash.h
+++ b/src/hash.h
@@ -12,10 +12,6 @@
 #ifndef __VIR_HASH_H__
 #define __VIR_HASH_H__
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /*
  * The hash table.
  */
@@ -90,7 +86,4 @@ int virHashForEach(virHashTablePtr table, virHashIterator iter, const void *data
 int virHashRemoveSet(virHashTablePtr table, virHashSearcher iter, virHashDeallocator f, const void *data);
 void *virHashSearch(virHashTablePtr table, virHashSearcher iter, const void *data);
 
-#ifdef __cplusplus
-}
-#endif
 #endif                          /* ! __VIR_HASH_H__ */
diff --git a/src/internal.h b/src/internal.h
index 8ea2e91a8f..1ecec05860 100644
--- a/src/internal.h
+++ b/src/internal.h
@@ -38,10 +38,6 @@
 #include "libvirt/virterror.h"
 #include "driver.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /* On architectures which lack these limits, define them (ie. Cygwin).
  * Note that the libvirt code should be robust enough to handle the
  * case where actual value is longer than these limits (eg. by setting
@@ -366,7 +362,4 @@ int __virDomainMigratePrepare (virConnectPtr dconn, char **cookie, int *cookiele
 int __virDomainMigratePerform (virDomainPtr domain, const char *cookie, int cookielen, const char *uri, unsigned long flags, const char *dname, unsigned long bandwidth);
 virDomainPtr __virDomainMigrateFinish (virConnectPtr dconn, const char *dname, const char *cookie, int cookielen, const char *uri, unsigned long flags);
 
-#ifdef __cplusplus
-}
-#endif                          /* __cplusplus */
 #endif                          /* __VIR_INTERNAL_H__ */
diff --git a/src/libvirt.c b/src/libvirt.c
index 9cdec8882c..9604b58f78 100644
--- a/src/libvirt.c
+++ b/src/libvirt.c
@@ -36,17 +36,26 @@
 
 #include "uuid.h"
 #include "util.h"
+
+#ifdef WITH_TEST
 #include "test.h"
+#endif
+#ifdef WITH_XEN
 #include "xen_unified.h"
+#endif
+#ifdef WITH_REMOTE
 #include "remote_internal.h"
+#endif
+#ifdef WITH_QEMU
 #include "qemu_driver.h"
-#include "storage_driver.h"
+#endif
 #ifdef WITH_OPENVZ
 #include "openvz_driver.h"
 #endif
 #ifdef WITH_LXC
 #include "lxc_driver.h"
 #endif
+#include "storage_driver.h"
 
 /*
  * TODO:
@@ -273,23 +282,23 @@ virInitialize(void)
 #ifdef WITH_TEST
     if (testRegister() == -1) return -1;
 #endif
-#ifdef WITH_QEMU
-    if (qemudRegister() == -1) return -1;
-#endif
 #ifdef WITH_XEN
     if (xenUnifiedRegister () == -1) return -1;
 #endif
+#ifdef WITH_LIBVIRTD
+#ifdef WITH_QEMU
+    if (qemudRegister() == -1) return -1;
+#endif
 #ifdef WITH_OPENVZ
     if (openvzRegister() == -1) return -1;
 #endif
 #ifdef WITH_LXC
     if (lxcRegister() == -1) return -1;
 #endif
-#ifdef WITH_LIBVIRTD
     if (storageRegister() == -1) return -1;
-#endif
 #ifdef WITH_REMOTE
     if (remoteRegister () == -1) return -1;
+#endif
 #endif
 
     return(0);
diff --git a/src/lxc_conf.c b/src/lxc_conf.c
index 94837d90c1..a4d5f0a82a 100644
--- a/src/lxc_conf.c
+++ b/src/lxc_conf.c
@@ -25,8 +25,6 @@
 /* includes */
 #include <config.h>
 
-#ifdef WITH_LXC
-
 #include <sys/utsname.h>
 
 #include "lxc_conf.h"
@@ -111,4 +109,3 @@ no_memory:
 }
 
 
-#endif /* WITH_LXC */
diff --git a/src/lxc_conf.h b/src/lxc_conf.h
index 931f24f15b..8f4887f022 100644
--- a/src/lxc_conf.h
+++ b/src/lxc_conf.h
@@ -26,8 +26,6 @@
 
 #include <config.h>
 
-#ifdef WITH_LXC
-
 #include "internal.h"
 #include "domain_conf.h"
 #include "capabilities.h"
@@ -52,6 +50,5 @@ void lxcError(virConnectPtr conn,
               int code, const char *fmt, ...)
     ATTRIBUTE_FORMAT(printf,4,5);
 
-#endif /* WITH_LXC */
 #endif /* LXC_CONF_H */
 
diff --git a/src/lxc_container.c b/src/lxc_container.c
index 142ae7c3aa..6a5e42ebc4 100644
--- a/src/lxc_container.c
+++ b/src/lxc_container.c
@@ -23,8 +23,6 @@
 
 #include <config.h>
 
-#ifdef WITH_LXC
-
 #include <fcntl.h>
 #include <limits.h>
 #include <stdlib.h>
@@ -406,4 +404,3 @@ int lxcContainerAvailable(int features)
     return 0;
 }
 
-#endif /* WITH_LXC */
diff --git a/src/lxc_container.h b/src/lxc_container.h
index 5da3772f1e..bd3622176d 100644
--- a/src/lxc_container.h
+++ b/src/lxc_container.h
@@ -26,8 +26,6 @@
 
 #include "lxc_conf.h"
 
-#ifdef WITH_LXC
-
 enum {
     LXC_CONTAINER_FEATURE_NET = (1 << 0),
 };
@@ -42,6 +40,4 @@ int lxcContainerStart(virDomainDefPtr def,
 
 int lxcContainerAvailable(int features);
 
-#endif /* LXC_DRIVER_H */
-
 #endif /* LXC_CONTAINER_H */
diff --git a/src/lxc_driver.c b/src/lxc_driver.c
index da0fe41d48..f0f3c258c8 100644
--- a/src/lxc_driver.c
+++ b/src/lxc_driver.c
@@ -23,8 +23,6 @@
 
 #include <config.h>
 
-#ifdef WITH_LXC
-
 #include <fcntl.h>
 #include <sched.h>
 #include <sys/utsname.h>
@@ -1112,5 +1110,3 @@ int lxcRegister(void)
     virRegisterStateDriver(&lxcStateDriver);
     return 0;
 }
-
-#endif /* WITH_LXC */
diff --git a/src/lxc_driver.h b/src/lxc_driver.h
index 05158754f5..1bb4753d09 100644
--- a/src/lxc_driver.h
+++ b/src/lxc_driver.h
@@ -26,11 +26,7 @@
 
 #include <config.h>
 
-#ifdef WITH_LXC
-
 /* Function declarations */
 int lxcRegister(void);
 
-#endif /* WITH_LXC */
-
 #endif /* LXC_DRIVER_H */
diff --git a/src/nodeinfo.h b/src/nodeinfo.h
index de2f6a1082..e7c78eb0bf 100644
--- a/src/nodeinfo.h
+++ b/src/nodeinfo.h
@@ -26,14 +26,6 @@
 
 #include "libvirt/libvirt.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-  int virNodeInfoPopulate(virConnectPtr conn, virNodeInfoPtr nodeinfo);
-
-#ifdef __cplusplus
-}
-#endif
+int virNodeInfoPopulate(virConnectPtr conn, virNodeInfoPtr nodeinfo);
 
 #endif /* __VIR_NODEINFO_H__*/
diff --git a/src/openvz_conf.c b/src/openvz_conf.c
index 5f1cd621a7..2b28b09275 100644
--- a/src/openvz_conf.c
+++ b/src/openvz_conf.c
@@ -25,8 +25,6 @@
  *
  */
 
-#ifdef WITH_OPENVZ
-
 #include <config.h>
 
 #include <stdio.h>
@@ -826,4 +824,3 @@ int openvzAssignUUIDs(void)
     return 0;
 }
 
-#endif
diff --git a/src/openvz_driver.c b/src/openvz_driver.c
index 8fdc2494df..03c10f1b61 100644
--- a/src/openvz_driver.c
+++ b/src/openvz_driver.c
@@ -25,8 +25,6 @@
  *
  */
 
-#ifdef WITH_OPENVZ
-
 #include <config.h>
 
 #include <sys/types.h>
@@ -1015,4 +1013,3 @@ int openvzRegister(void) {
     return 0;
 }
 
-#endif /* WITH_OPENVZ */
diff --git a/src/proxy_internal.c b/src/proxy_internal.c
index 4b5789d7dd..8ed3342f99 100644
--- a/src/proxy_internal.c
+++ b/src/proxy_internal.c
@@ -8,8 +8,6 @@
  * Daniel Veillard <veillard@redhat.com>
  */
 
-#ifdef WITH_XEN
-
 #include <config.h>
 
 #include <stdio.h>
@@ -1097,4 +1095,4 @@ xenProxyDomainGetOSType(virDomainPtr domain)
     return(ostype);
 }
 
-#endif /* WITH_XEN */
+
diff --git a/src/proxy_internal.h b/src/proxy_internal.h
index f0e7cc82df..0e66c1cc9a 100644
--- a/src/proxy_internal.h
+++ b/src/proxy_internal.h
@@ -14,10 +14,6 @@
 
 #include "libvirt/libvirt.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 #define PROXY_SOCKET_PATH "/tmp/livirt_proxy_conn"
 #define PROXY_PROTO_VERSION 1
 
@@ -98,7 +94,4 @@ extern virDomainPtr xenProxyLookupByName(virConnectPtr conn,
 
 extern char *       xenProxyDomainDumpXML(virDomainPtr domain,
                                           int flags);
-#ifdef __cplusplus
-}
-#endif                          /* __cplusplus */
 #endif /* __LIBVIR_PROXY_H__ */
diff --git a/src/qemu_conf.c b/src/qemu_conf.c
index dc9e42a076..ee5851dc3b 100644
--- a/src/qemu_conf.c
+++ b/src/qemu_conf.c
@@ -23,8 +23,6 @@
 
 #include <config.h>
 
-#ifdef WITH_QEMU
-
 #include <dirent.h>
 #include <string.h>
 #include <limits.h>
@@ -1256,5 +1254,3 @@ int qemudBuildCommandLine(virConnectPtr conn,
 #undef ADD_ARG_SPACE
 }
 
-
-#endif /* WITH_QEMU */
diff --git a/src/qemu_conf.h b/src/qemu_conf.h
index c03ad59a18..96b361139d 100644
--- a/src/qemu_conf.h
+++ b/src/qemu_conf.h
@@ -26,8 +26,6 @@
 
 #include <config.h>
 
-#ifdef WITH_QEMU
-
 #include "internal.h"
 #include "iptables.h"
 #include "bridge.h"
@@ -102,6 +100,4 @@ int         qemudBuildCommandLine       (virConnectPtr conn,
 
 const char *qemudVirtTypeToString       (int type);
 
-#endif /* WITH_QEMU */
-
 #endif /* __QEMUD_CONF_H */
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
index 2cef549368..105c746ee8 100644
--- a/src/qemu_driver.c
+++ b/src/qemu_driver.c
@@ -23,8 +23,6 @@
 
 #include <config.h>
 
-#ifdef WITH_QEMU
-
 #include <sys/types.h>
 #include <sys/poll.h>
 #include <dirent.h>
@@ -3971,4 +3969,3 @@ int qemudRegister(void) {
     return 0;
 }
 
-#endif /* WITH_QEMU */
diff --git a/src/qemu_driver.h b/src/qemu_driver.h
index a8a0319f90..dbcca705a7 100644
--- a/src/qemu_driver.h
+++ b/src/qemu_driver.h
@@ -27,12 +27,8 @@
 
 #include <config.h>
 
-#ifdef WITH_QEMU
-
 #include "internal.h"
 
 int qemudRegister(void);
 
-#endif /* WITH_QEMU */
-
 #endif /* QEMUD_DRIVER_H */
diff --git a/src/remote_internal.h b/src/remote_internal.h
index ebbf3aca2b..2abee77030 100644
--- a/src/remote_internal.h
+++ b/src/remote_internal.h
@@ -26,10 +26,6 @@
 
 #include "libvirt/virterror.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 int remoteRegister (void);
 
 #define LIBVIRTD_LISTEN_ADDR NULL
@@ -48,7 +44,5 @@ int remoteRegister (void);
 #define LIBVIRT_SERVERKEY LIBVIRT_PKI_DIR "/libvirt/private/serverkey.pem"
 #define LIBVIRT_SERVERCERT LIBVIRT_PKI_DIR "/libvirt/servercert.pem"
 
-#ifdef __cplusplus
-}
-#endif
+
 #endif /* __VIR_REMOTE_INTERNAL_H__ */
diff --git a/src/test.c b/src/test.c
index 4c853f1fd0..69c9090505 100644
--- a/src/test.c
+++ b/src/test.c
@@ -23,8 +23,6 @@
 
 #include <config.h>
 
-#ifdef WITH_TEST
-
 #include <stdio.h>
 #include <string.h>
 #include <sys/time.h>
@@ -32,8 +30,6 @@
 #include <unistd.h>
 #include <sys/stat.h>
 
-#include "socketcompat.h"
-
 #include "test.h"
 #include "buf.h"
 #include "util.h"
@@ -1645,5 +1641,3 @@ testRegister(void)
         return -1;
     return 0;
 }
-
-#endif /* WITH_TEST */
diff --git a/src/test.h b/src/test.h
index 2a29f54b49..c6bdbd04dd 100644
--- a/src/test.h
+++ b/src/test.h
@@ -26,13 +26,6 @@
 
 #include "internal.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 int testRegister(void);
 
-#ifdef __cplusplus
-}
-#endif
 #endif /* __VIR_TEST_INTERNAL_H__ */
diff --git a/src/veth.c b/src/veth.c
index ca0efbf206..7cfee56373 100644
--- a/src/veth.c
+++ b/src/veth.c
@@ -11,8 +11,6 @@
 
 #include <config.h>
 
-#ifdef WITH_LXC
-
 #include <string.h>
 
 #include "veth.h"
@@ -218,4 +216,4 @@ error_out:
     VIR_FREE(pid);
     return rc;
 }
-#endif
+
diff --git a/src/xen_internal.c b/src/xen_internal.c
index f1f7e3d5aa..36c5bb74ff 100644
--- a/src/xen_internal.c
+++ b/src/xen_internal.c
@@ -8,8 +8,6 @@
  * Daniel Veillard <veillard@redhat.com>
  */
 
-#ifdef WITH_XEN
-
 #include <config.h>
 
 #include <stdio.h>
@@ -3293,4 +3291,3 @@ xenHypervisorGetVcpuMax(virDomainPtr domain)
     return maxcpu;
 }
 
-#endif /* WITH_XEN */
diff --git a/src/xen_internal.h b/src/xen_internal.h
index 416be31382..eeeaf7cfea 100644
--- a/src/xen_internal.h
+++ b/src/xen_internal.h
@@ -11,10 +11,6 @@
 #ifndef __VIR_XEN_INTERNAL_H__
 #define __VIR_XEN_INTERNAL_H__
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 #include "internal.h"
 #include "capabilities.h"
 
@@ -102,7 +98,5 @@ int	xenHypervisorNodeGetCellsFreeMemory(virConnectPtr conn,
                                           unsigned long long *freeMems,
                                           int startCell,
                                           int maxCells);
-#ifdef __cplusplus
-}
-#endif
+
 #endif                          /* __VIR_XEN_INTERNAL_H__ */
diff --git a/src/xen_unified.c b/src/xen_unified.c
index f78ae05a5c..17dc335d8c 100644
--- a/src/xen_unified.c
+++ b/src/xen_unified.c
@@ -10,8 +10,6 @@
 
 #include <config.h>
 
-#ifdef WITH_XEN
-
 /* Note:
  *
  * This driver provides a unified interface to the five
@@ -1383,4 +1381,3 @@ xenUnifiedRegister (void)
     return virRegisterDriver (&xenUnifiedDriver);
 }
 
-#endif /* WITH_XEN */
diff --git a/src/xen_unified.h b/src/xen_unified.h
index 8a43093b8b..c17b498b21 100644
--- a/src/xen_unified.h
+++ b/src/xen_unified.h
@@ -21,10 +21,6 @@
 #include <winsock2.h>
 #endif
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 extern int xenUnifiedRegister (void);
 
 #define XEN_UNIFIED_HYPERVISOR_OFFSET 0
@@ -93,7 +89,6 @@ struct xenUnifiedDriver {
  */
 struct _xenUnifiedPrivate {
     virCapsPtr caps;
-#ifdef WITH_XEN
     int handle;			/* Xen hypervisor handle */
 
     int xendConfigVersion;      /* XenD config version */
@@ -107,7 +102,6 @@ struct _xenUnifiedPrivate {
     struct sockaddr_in addr_in; /* the inet address */
 
     struct xs_handle *xshandle; /* handle to talk to the xenstore */
-#endif /* WITH_XEN */
 
     int proxy;                  /* fd of proxy. */
 
@@ -124,8 +118,5 @@ typedef struct _xenUnifiedPrivate *xenUnifiedPrivatePtr;
 int xenNbCells(virConnectPtr conn);
 int xenNbCpus(virConnectPtr conn);
 char *xenDomainUsedCpus(virDomainPtr dom);
-#ifdef __cplusplus
-}
-#endif
 
 #endif /* __VIR_XEN_UNIFIED_H__ */
diff --git a/src/xend_internal.c b/src/xend_internal.c
index d430b4960c..2a687c3d4c 100644
--- a/src/xend_internal.c
+++ b/src/xend_internal.c
@@ -10,7 +10,6 @@
  *  archive for more details.
  */
 
-#ifdef WITH_XEN
 #include <config.h>
 
 #include <stdio.h>
@@ -5549,4 +5548,3 @@ virDomainXMLDevID(virDomainPtr domain,
 }
 
 #endif /* ! PROXY */
-#endif /* WITH_XEN */
diff --git a/src/xend_internal.h b/src/xend_internal.h
index 5172cd380b..12fa379d51 100644
--- a/src/xend_internal.h
+++ b/src/xend_internal.h
@@ -25,10 +25,6 @@
 #include "domain_conf.h"
 #include "buf.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 int
 xenDaemonOpen_unix(virConnectPtr conn, const char *path);
 
diff --git a/src/xm_internal.c b/src/xm_internal.c
index 822581c8a0..d478274d35 100644
--- a/src/xm_internal.c
+++ b/src/xm_internal.c
@@ -22,7 +22,6 @@
  *
  */
 
-#ifdef WITH_XEN
 #include <config.h>
 
 #include <dirent.h>
@@ -2685,4 +2684,3 @@ xenXMDomainBlockPeek (virDomainPtr dom,
     return -1;
 }
 
-#endif /* WITH_XEN */
diff --git a/src/xs_internal.c b/src/xs_internal.c
index d4849c2d2c..551d904627 100644
--- a/src/xs_internal.c
+++ b/src/xs_internal.c
@@ -8,7 +8,6 @@
  * Daniel Veillard <veillard@redhat.com>
  */
 
-#ifdef WITH_XEN
 #include <config.h>
 
 #include <stdio.h>
@@ -938,5 +937,3 @@ char *xenStoreDomainGetName(virConnectPtr conn,
     return xs_read(priv->xshandle, 0, prop, &len);
 }
 
-
-#endif /* WITH_XEN */
diff --git a/src/xs_internal.h b/src/xs_internal.h
index 8b403f4a4e..6163ebc80b 100644
--- a/src/xs_internal.h
+++ b/src/xs_internal.h
@@ -11,10 +11,6 @@
 #ifndef __VIR_XS_INTERNAL_H__
 #define __VIR_XS_INTERNAL_H__
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 #include "internal.h"
 
 extern struct xenUnifiedDriver xenStoreDriver;
@@ -57,7 +53,4 @@ char *		xenStoreDomainGetDiskID(virConnectPtr conn,
 char *          xenStoreDomainGetName(virConnectPtr conn,
                                       int id);
 
-#ifdef __cplusplus
-}
-#endif
 #endif /* __VIR_XS_INTERNAL_H__ */
diff --git a/tests/testutils.h b/tests/testutils.h
index 5050926a90..7afd579849 100644
--- a/tests/testutils.h
+++ b/tests/testutils.h
@@ -13,40 +13,32 @@
 #ifndef __VIT_TEST_UTILS_H__
 #define __VIT_TEST_UTILS_H__
 
-#ifdef __cplusplus
-extern "C" {
-#endif
+double virtTestCountAverage(double *items,
+                            int nitems);
+
+int virtTestRun(const char *title,
+                int nloops,
+                int (*body)(const void *data),
+                const void *data);
+int virtTestLoadFile(const char *name,
+                     char **buf,
+                     int buflen);
+int virtTestCaptureProgramOutput(const char *const argv[],
+                                 char **buf,
+                                 int buflen);
 
 
-    double virtTestCountAverage(double *items,
-                                int nitems);
+int virtTestDifference(FILE *stream,
+                       const char *expect,
+                       const char *actual);
 
-    int	virtTestRun(const char *title,
-                    int nloops,
-                    int (*body)(const void *data),
-                    const void *data);
-    int virtTestLoadFile(const char *name,
-                         char **buf,
-                         int buflen);
-    int virtTestCaptureProgramOutput(const char *const argv[],
-                                     char **buf,
-                                     int buflen);
-
-
-    int virtTestDifference(FILE *stream,
-                           const char *expect,
-                           const char *actual);
-
-    int virtTestMain(int argc,
-                     char **argv,
-                     int (*func)(int, char **));
+int virtTestMain(int argc,
+                 char **argv,
+                 int (*func)(int, char **));
 
 #define VIRT_TEST_MAIN(func)                    \
     int main(int argc, char **argv)  {          \
         return virtTestMain(argc,argv, func);   \
     }
 
-#ifdef __cplusplus
-}
-#endif
 #endif /* __VIT_TEST_UTILS_H__ */