diff --git a/clone.patch b/clone.patch index 77a6481..7c92647 100644 --- a/clone.patch +++ b/clone.patch @@ -1,7 +1,7 @@ -Index: src/lxc_container.c +Index: src/lxc/lxc_container.c =================================================================== ---- src/lxc_container.c.orig -+++ src/lxc_container.c +--- src/lxc/lxc_container.c.orig ++++ src/lxc/lxc_container.c @@ -796,6 +796,9 @@ int lxcContainerStart(virDomainDefPtr de lxc_child_argv_t args = { def, nveths, veths, control, ttyPath }; diff --git a/detach-disk.patch b/detach-disk.patch index d6df91f..c62b2e5 100644 --- a/detach-disk.patch +++ b/detach-disk.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.7.1/src/xend_internal.c +Index: libvirt-0.7.1/src/xen/xend_internal.c =================================================================== ---- libvirt-0.7.1.orig/src/xend_internal.c -+++ libvirt-0.7.1/src/xend_internal.c +--- libvirt-0.7.1.orig/src/xen/xend_internal.c ++++ libvirt-0.7.1/src/xen/xend_internal.c @@ -5877,7 +5877,7 @@ virDomainXMLDevID(virDomainPtr domain, return -1; xenUnifiedLock(priv); @@ -11,10 +11,10 @@ Index: libvirt-0.7.1/src/xend_internal.c xenUnifiedUnlock(priv); if (xref == NULL) return -1; -Index: libvirt-0.7.1/src/xs_internal.c +Index: libvirt-0.7.1/src/xen/xs_internal.c =================================================================== ---- libvirt-0.7.1.orig/src/xs_internal.c -+++ libvirt-0.7.1/src/xs_internal.c +--- libvirt-0.7.1.orig/src/xen/xs_internal.c ++++ libvirt-0.7.1/src/xen/xs_internal.c @@ -966,7 +966,8 @@ xenStoreDomainGetNetworkID(virConnectPtr * freed by the caller. */ @@ -34,10 +34,10 @@ Index: libvirt-0.7.1/src/xs_internal.c list = xs_directory(priv->xshandle, 0, dir, &num); if (list != NULL) { for (i = 0; i < num; i++) { -Index: libvirt-0.7.1/src/xs_internal.h +Index: libvirt-0.7.1/src/xen/xs_internal.h =================================================================== ---- libvirt-0.7.1.orig/src/xs_internal.h -+++ libvirt-0.7.1/src/xs_internal.h +--- libvirt-0.7.1.orig/src/xen/xs_internal.h ++++ libvirt-0.7.1/src/xen/xs_internal.h @@ -49,7 +49,8 @@ char * xenStoreDomainGetNetworkID(virCo const char *mac); char * xenStoreDomainGetDiskID(virConnectPtr conn, diff --git a/fs-ocfs2.patch b/fs-ocfs2.patch index 1ea733d..36ec839 100644 --- a/fs-ocfs2.patch +++ b/fs-ocfs2.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.7.1/src/storage_conf.c +Index: libvirt-0.7.1/src/conf/storage_conf.c =================================================================== ---- libvirt-0.7.1.orig/src/storage_conf.c -+++ libvirt-0.7.1/src/storage_conf.c +--- libvirt-0.7.1.orig/src/conf/storage_conf.c ++++ libvirt-0.7.1/src/conf/storage_conf.c @@ -59,7 +59,7 @@ VIR_ENUM_IMPL(virStoragePoolFormatFileSy VIR_STORAGE_POOL_FS_LAST, "auto", "ext2", "ext3", @@ -11,10 +11,10 @@ Index: libvirt-0.7.1/src/storage_conf.c VIR_ENUM_IMPL(virStoragePoolFormatFileSystemNet, VIR_STORAGE_POOL_NETFS_LAST, -Index: libvirt-0.7.1/src/storage_conf.h +Index: libvirt-0.7.1/src/conf/storage_conf.h =================================================================== ---- libvirt-0.7.1.orig/src/storage_conf.h -+++ libvirt-0.7.1/src/storage_conf.h +--- libvirt-0.7.1.orig/src/conf/storage_conf.h ++++ libvirt-0.7.1/src/conf/storage_conf.h @@ -395,6 +395,7 @@ enum virStoragePoolFormatFileSystem { VIR_STORAGE_POOL_FS_VFAT, VIR_STORAGE_POOL_FS_HFSPLUS, diff --git a/libvirt-0.7.1.tar.bz2 b/libvirt-0.7.1.tar.bz2 deleted file mode 100644 index 701a7c6..0000000 --- a/libvirt-0.7.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8edde9577fbf0e90d0b33d4b328a79c51cc821c78a4c04b101007c1d6eed1909 -size 5440029 diff --git a/libvirt-0.7.2.tar.bz2 b/libvirt-0.7.2.tar.bz2 new file mode 100644 index 0000000..9e7e304 --- /dev/null +++ b/libvirt-0.7.2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:311817f34ace89ee44b09a4d4854bbc3a5c0567bf9a8e8a6772c494432f94b33 +size 5563880 diff --git a/libvirt.spec b/libvirt.spec index 7a432f5..b5c4960 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -35,7 +35,7 @@ %endif Name: libvirt -BuildRequires: bridge-utils cyrus-sasl-devel device-mapper-devel fdupes gettext gnutls-devel hal-devel iptables-devel libxml2-devel lvm2 ncurses-devel parted-devel pkg-config python-devel readline-devel util-linux xhtml-dtd +BuildRequires: bridge-utils cyrus-sasl-devel device-mapper-devel fdupes gettext gnutls-devel hal-devel iptables-devel libxml2-devel lvm2 ncurses-devel parted-devel pkg-config python-devel python-xml readline-devel util-linux xhtml-dtd %if %{with_xen} BuildRequires: xen-devel %endif @@ -64,7 +64,7 @@ Url: http://libvirt.org/ License: LGPL v2.1 or later Group: Development/Libraries/C and C++ AutoReqProv: yes -Version: 0.7.1 +Version: 0.7.2 Release: 3 Summary: A C toolkit to interract with the virtualization capabilities of Linux Requires: readline @@ -92,10 +92,7 @@ Source0: %{name}-%{version}.tar.bz2 Source1: libvirtd.init # Upstream patches Patch0: devmap-no-pkgconfig.patch -Patch1: xen-refcnt.patch -Patch2: vshdeinit-recurse.patch -Patch3: msg-proc-memleak.patch -Patch4: fs-ocfs2.patch +Patch1: fs-ocfs2.patch # Need to go upstream Patch100: socat.patch Patch101: clone.patch @@ -105,7 +102,7 @@ Patch104: detach-disk.patch # Our patches Patch200: libvirtd-defaults.patch Patch201: suse-network.patch -Patch202: snapshots.patch +#BFRPatch202: snapshots.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -199,9 +196,6 @@ Authors: %setup -q %patch0 -p1 %patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 %patch100 -p1 %patch101 %patch102 -p1 @@ -209,7 +203,7 @@ Authors: %patch104 -p1 %patch200 -p1 %patch201 -p1 -%patch202 -p1 +#BFR%patch202 -p1 %build %if ! %{with_xen} @@ -231,6 +225,7 @@ export CFLAGS="$RPM_OPT_FLAGS" --with-init-script=none \ --with-remote-pid-file=%{_localstatedir}/run/libvirtd.pid \ --with-xen-proxy=no \ + --with-selinux=no \ ac_cv_path_DNSMASQ=/usr/sbin/dnsmasq \ ac_cv_path_QEMU_IMG=/usr/bin/qemu-img-xen \ ac_cv_path_ISCSIADM=/sbin/iscsiadm \ @@ -249,7 +244,6 @@ rm -rf $RPM_BUILD_ROOT/usr/share/locale/sr@latin rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/run/libvirt mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/libvirt -rm $RPM_BUILD_ROOT%{_docdir}/%{name}/{*.c,examples.x*} rm $RPM_BUILD_ROOT%{_libdir}/*.*a $RPM_BUILD_ROOT%{py_sitedir}/*.*a ln_dupes() { @@ -290,12 +284,14 @@ rm -rf $RPM_BUILD_ROOT %defattr(-, root, root) %{_bindir}/virsh %{_bindir}/virt-xml-validate +%{_bindir}/virt-pki-validate %{_sbindir}/libvirtd %doc %dir %{_docdir}/%{name} %doc %{_docdir}/%{name}/[CNRT]* %doc %{_docdir}/%{name}/AUTHORS %doc %{_mandir}/man1/virsh.1* %doc %{_mandir}/man1/virt-xml-validate.1* +%doc %{_mandir}/man1/virt-pki-validate.1* %{_libdir}/*.so.* %dir %{_libdir}/%{name} %if 0%{?suse_version} > 1030 @@ -308,6 +304,9 @@ rm -rf $RPM_BUILD_ROOT %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/ %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/ %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart +%if %{with_lxc} +%config %{_sysconfdir}/libvirt/lxc.conf +%endif %config %{_sysconfdir}/libvirt/qemu/networks/default.xml %config %{_sysconfdir}/logrotate.d/libvirtd %dir /%{_localstatedir}/run/libvirt/ @@ -334,7 +333,6 @@ rm -rf $RPM_BUILD_ROOT %files doc %defattr(-, root, root) %{_datadir}/gtk-doc/html/libvirt -%doc %{_docdir}/%{name}/*.gif %doc %{_docdir}/%{name}/*.png %doc %{_docdir}/%{name}/*.html %doc %{_docdir}/%{name}/html diff --git a/libvirtd-defaults.patch b/libvirtd-defaults.patch index f0d484d..8a16dfa 100644 --- a/libvirtd-defaults.patch +++ b/libvirtd-defaults.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.7.1/qemud/libvirtd.conf +Index: libvirt-0.7.1/daemon/libvirtd.conf =================================================================== ---- libvirt-0.7.1.orig/qemud/libvirtd.conf -+++ libvirt-0.7.1/qemud/libvirtd.conf +--- libvirt-0.7.1.orig/daemon/libvirtd.conf ++++ libvirt-0.7.1/daemon/libvirtd.conf @@ -18,8 +18,8 @@ # It is necessary to setup a CA and issue server certificates before # using this capability. @@ -28,10 +28,10 @@ Index: libvirt-0.7.1/qemud/libvirtd.conf # Override the default mDNS advertizement name. This must be # unique on the immediate broadcast network. -Index: libvirt-0.7.1/qemud/qemud.c +Index: libvirt-0.7.1/daemon/libvirtd.c =================================================================== ---- libvirt-0.7.1.orig/qemud/qemud.c -+++ libvirt-0.7.1/qemud/qemud.c +--- libvirt-0.7.1.orig/daemon/libvirtd.c ++++ libvirt-0.7.1/daemon/libvirtd.c @@ -134,7 +134,7 @@ static int sigwrite = -1; /* Signa static int ipsock = 0; /* -l Listen for TCP/IP */ diff --git a/migrate-params.patch b/migrate-params.patch index c619f6a..7a800d2 100644 --- a/migrate-params.patch +++ b/migrate-params.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.6.5/src/xend_internal.c +Index: libvirt-0.6.5/src/xen/xend_internal.c =================================================================== ---- libvirt-0.6.5.orig/src/xend_internal.c -+++ libvirt-0.6.5/src/xend_internal.c +--- libvirt-0.6.5.orig/src/xen/xend_internal.c ++++ libvirt-0.6.5/src/xen/xend_internal.c @@ -4480,6 +4480,8 @@ xenDaemonDomainMigratePerform (virDomain "node", "-1", "ssl", "0", diff --git a/msg-proc-memleak.patch b/msg-proc-memleak.patch deleted file mode 100644 index cd40f75..0000000 --- a/msg-proc-memleak.patch +++ /dev/null @@ -1,48 +0,0 @@ -Index: libvirt-0.7.1/qemud/dispatch.c -=================================================================== ---- libvirt-0.7.1.orig/qemud/dispatch.c -+++ libvirt-0.7.1/qemud/dispatch.c -@@ -191,6 +191,7 @@ remoteSerializeError(struct qemud_client - - xdr_error: - xdr_destroy(&xdr); -+ VIR_FREE(msg); - fatal_error: - xdr_free((xdrproc_t)xdr_remote_error, (char *)rerr); - return -1; -@@ -336,6 +337,7 @@ remoteDispatchClientRequest (struct qemu - struct qemud_client *client, - struct qemud_client_message *msg) - { -+ int ret; - remote_error rerr; - - memset(&rerr, 0, sizeof rerr); -@@ -364,7 +366,12 @@ remoteDispatchClientRequest (struct qemu - } - - error: -- return remoteSerializeReplyError(client, &rerr, &msg->hdr); -+ ret = remoteSerializeReplyError(client, &rerr, &msg->hdr); -+ -+ if (ret >= 0) -+ VIR_FREE(msg); -+ -+ return ret; - } - - -@@ -521,8 +528,12 @@ remoteDispatchClientCall (struct qemud_s - rpc_error: - /* Semi-bad stuff happened, we can still try to send back - * an RPC error message to client */ -- return remoteSerializeReplyError(client, &rerr, &msg->hdr); -+ rv = remoteSerializeReplyError(client, &rerr, &msg->hdr); -+ -+ if (rv >= 0) -+ VIR_FREE(msg); - -+ return rv; - - xdr_error: - /* Seriously bad stuff happened, so we'll kill off this client diff --git a/socat.patch b/socat.patch index 95e5213..9238072 100644 --- a/socat.patch +++ b/socat.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.7.1/src/remote_internal.c +Index: libvirt-0.7.1/src/remote/remote_driver.c =================================================================== ---- libvirt-0.7.1.orig/src/remote_internal.c -+++ libvirt-0.7.1/src/remote_internal.c +--- libvirt-0.7.1.orig/src/remote/remote_driver.c ++++ libvirt-0.7.1/src/remote/remote_driver.c @@ -728,12 +728,29 @@ doRemoteOpen (virConnectPtr conn, cmd_argv[j++] = strdup ("none"); } diff --git a/suse-network.patch b/suse-network.patch index 4bea8eb..340adc8 100644 --- a/suse-network.patch +++ b/suse-network.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.7.1/src/network_conf.c +Index: libvirt-0.7.1/src/conf/network_conf.c =================================================================== ---- libvirt-0.7.1.orig/src/network_conf.c -+++ libvirt-0.7.1/src/network_conf.c +--- libvirt-0.7.1.orig/src/conf/network_conf.c ++++ libvirt-0.7.1/src/conf/network_conf.c @@ -770,6 +770,137 @@ error: return NULL; } @@ -148,10 +148,10 @@ Index: libvirt-0.7.1/src/network_conf.c return 0; } -Index: libvirt-0.7.1/src/network_conf.h +Index: libvirt-0.7.1/src/conf/network_conf.h =================================================================== ---- libvirt-0.7.1.orig/src/network_conf.h -+++ libvirt-0.7.1/src/network_conf.h +--- libvirt-0.7.1.orig/src/conf/network_conf.h ++++ libvirt-0.7.1/src/conf/network_conf.h @@ -89,6 +89,7 @@ struct _virNetworkObj { unsigned int active : 1; unsigned int autostart : 1; @@ -160,10 +160,10 @@ Index: libvirt-0.7.1/src/network_conf.h virNetworkDefPtr def; /* The current definition */ virNetworkDefPtr newDef; /* New definition to activate at shutdown */ -Index: libvirt-0.7.1/src/network_driver.c +Index: libvirt-0.7.1/src/network/bridge_driver.c =================================================================== ---- libvirt-0.7.1.orig/src/network_driver.c -+++ libvirt-0.7.1/src/network_driver.c +--- libvirt-0.7.1.orig/src/network/bridge_driver.c ++++ libvirt-0.7.1/src/network/bridge_driver.c @@ -963,6 +963,11 @@ static int networkShutdownNetworkDaemon( unlink(stateFile); VIR_FREE(stateFile); diff --git a/vshdeinit-recurse.patch b/vshdeinit-recurse.patch deleted file mode 100644 index b8e7244..0000000 --- a/vshdeinit-recurse.patch +++ /dev/null @@ -1,1882 +0,0 @@ -Index: libvirt-0.7.1/src/virsh.c -=================================================================== ---- libvirt-0.7.1.orig/src/virsh.c -+++ libvirt-0.7.1/src/virsh.c -@@ -202,8 +202,8 @@ typedef struct __vshControl { - - static const vshCmdDef commands[]; - --static void vshError(vshControl *ctl, int doexit, const char *format, ...) -- ATTRIBUTE_FMT_PRINTF(3, 4); -+static void vshError(vshControl *ctl, const char *format, ...) -+ ATTRIBUTE_FMT_PRINTF(2, 3); - static int vshInit(vshControl *ctl); - static int vshDeinit(vshControl *ctl); - static void vshUsage(void); -@@ -351,11 +351,11 @@ virshReportError(vshControl *ctl) - return; - - if (last_error->code == VIR_ERR_OK) { -- vshError(ctl, FALSE, "%s", _("unknown error")); -+ vshError(ctl, "%s", _("unknown error")); - goto out; - } - -- vshError(ctl, FALSE, "%s", last_error->message); -+ vshError(ctl, "%s", last_error->message); - - out: - virFreeError(last_error); -@@ -433,11 +433,9 @@ cmdAutostart(vshControl *ctl, const vshC - - if (virDomainSetAutostart(dom, autostart) < 0) { - if (autostart) -- vshError(ctl, FALSE, _("Failed to mark domain %s as autostarted"), -- name); -+ vshError(ctl, _("Failed to mark domain %s as autostarted"), name); - else -- vshError(ctl, FALSE, _("Failed to unmark domain %s as autostarted"), -- name); -+ vshError(ctl, _("Failed to unmark domain %s as autostarted"), name); - virDomainFree(dom); - return FALSE; - } -@@ -474,8 +472,7 @@ cmdConnect(vshControl *ctl, const vshCmd - - if (ctl->conn) { - if (virConnectClose(ctl->conn) != 0) { -- vshError(ctl, FALSE, "%s", -- _("Failed to disconnect from the hypervisor")); -+ vshError(ctl, "%s", _("Failed to disconnect from the hypervisor")); - return FALSE; - } - ctl->conn = NULL; -@@ -494,7 +491,7 @@ cmdConnect(vshControl *ctl, const vshCmd - ctl->readonly ? VIR_CONNECT_RO : 0); - - if (!ctl->conn) -- vshError(ctl, FALSE, "%s", _("Failed to connect to the hypervisor")); -+ vshError(ctl, "%s", _("Failed to connect to the hypervisor")); - - return ctl->conn ? TRUE : FALSE; - } -@@ -528,17 +525,17 @@ cmdRunConsole(vshControl *ctl, virDomain - char *thisHost = NULL; - - if (!(thisHost = virGetHostname())) { -- vshError(ctl, FALSE, "%s", _("Failed to get local hostname")); -+ vshError(ctl, "%s", _("Failed to get local hostname")); - goto cleanup; - } - - if (!(thatHost = virConnectGetHostname(ctl->conn))) { -- vshError(ctl, FALSE, "%s", _("Failed to get connection hostname")); -+ vshError(ctl, "%s", _("Failed to get connection hostname")); - goto cleanup; - } - - if (STRNEQ(thisHost, thatHost)) { -- vshError(ctl, FALSE, "%s", _("Cannot connect to a remote console device")); -+ vshError(ctl, "%s", _("Cannot connect to a remote console device")); - goto cleanup; - } - -@@ -632,14 +629,14 @@ cmdList(vshControl *ctl, const vshCmd *c - if (active) { - maxid = virConnectNumOfDomains(ctl->conn); - if (maxid < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list active domains")); -+ vshError(ctl, "%s", _("Failed to list active domains")); - return FALSE; - } - if (maxid) { - ids = vshMalloc(ctl, sizeof(int) * maxid); - - if ((maxid = virConnectListDomains(ctl->conn, &ids[0], maxid)) < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list active domains")); -+ vshError(ctl, "%s", _("Failed to list active domains")); - free(ids); - return FALSE; - } -@@ -650,7 +647,7 @@ cmdList(vshControl *ctl, const vshCmd *c - if (inactive) { - maxname = virConnectNumOfDefinedDomains(ctl->conn); - if (maxname < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list inactive domains")); -+ vshError(ctl, "%s", _("Failed to list inactive domains")); - free(ids); - return FALSE; - } -@@ -658,7 +655,7 @@ cmdList(vshControl *ctl, const vshCmd *c - names = vshMalloc(ctl, sizeof(char *) * maxname); - - if ((maxname = virConnectListDefinedDomains(ctl->conn, names, maxname)) < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list inactive domains")); -+ vshError(ctl, "%s", _("Failed to list inactive domains")); - free(ids); - free(names); - return FALSE; -@@ -786,8 +783,7 @@ cmdDomblkstat (vshControl *ctl, const vs - } - - if (virDomainBlockStats (dom, device, &stats, sizeof stats) == -1) { -- vshError (ctl, FALSE, _("Failed to get block stats %s %s"), -- name, device); -+ vshError(ctl, _("Failed to get block stats %s %s"), name, device); - virDomainFree(dom); - return FALSE; - } -@@ -844,8 +840,7 @@ cmdDomIfstat (vshControl *ctl, const vsh - } - - if (virDomainInterfaceStats (dom, device, &stats, sizeof stats) == -1) { -- vshError (ctl, FALSE, _("Failed to get interface stats %s %s"), -- name, device); -+ vshError(ctl, _("Failed to get interface stats %s %s"), name, device); - virDomainFree(dom); - return FALSE; - } -@@ -908,7 +903,7 @@ cmdSuspend(vshControl *ctl, const vshCmd - if (virDomainSuspend(dom) == 0) { - vshPrint(ctl, _("Domain %s suspended\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to suspend domain %s"), name); -+ vshError(ctl, _("Failed to suspend domain %s"), name); - ret = FALSE; - } - -@@ -967,7 +962,7 @@ cmdCreate(vshControl *ctl, const vshCmd - #endif - virDomainFree(dom); - } else { -- vshError(ctl, FALSE, _("Failed to create domain from %s"), from); -+ vshError(ctl, _("Failed to create domain from %s"), from); - ret = FALSE; - } - return ret; -@@ -1014,7 +1009,7 @@ cmdDefine(vshControl *ctl, const vshCmd - virDomainGetName(dom), from); - virDomainFree(dom); - } else { -- vshError(ctl, FALSE, _("Failed to define domain from %s"), from); -+ vshError(ctl, _("Failed to define domain from %s"), from); - ret = FALSE; - } - return ret; -@@ -1052,9 +1047,11 @@ cmdUndefine(vshControl *ctl, const vshCm - - if (name && virStrToLong_i(name, NULL, 10, &id) == 0 - && id >= 0 && (dom = virDomainLookupByID(ctl->conn, id))) { -- vshError(ctl, FALSE, _("a running domain like %s cannot be undefined;\n" -- "to undefine, first shutdown then undefine" -- " using its name or UUID"), name); -+ vshError(ctl, -+ _("a running domain like %s cannot be undefined;\n" -+ "to undefine, first shutdown then undefine" -+ " using its name or UUID"), -+ name); - virDomainFree(dom); - return FALSE; - } -@@ -1065,7 +1062,7 @@ cmdUndefine(vshControl *ctl, const vshCm - if (virDomainUndefine(dom) == 0) { - vshPrint(ctl, _("Domain %s has been undefined\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to undefine domain %s"), name); -+ vshError(ctl, _("Failed to undefine domain %s"), name); - ret = FALSE; - } - -@@ -1107,7 +1104,7 @@ cmdStart(vshControl *ctl, const vshCmd * - return FALSE; - - if (virDomainGetID(dom) != (unsigned int)-1) { -- vshError(ctl, FALSE, "%s", _("Domain is already active")); -+ vshError(ctl, "%s", _("Domain is already active")); - virDomainFree(dom); - return FALSE; - } -@@ -1120,8 +1117,7 @@ cmdStart(vshControl *ctl, const vshCmd * - cmdRunConsole(ctl, dom); - #endif - } else { -- vshError(ctl, FALSE, _("Failed to start domain %s"), -- virDomainGetName(dom)); -+ vshError(ctl, _("Failed to start domain %s"), virDomainGetName(dom)); - ret = FALSE; - } - virDomainFree(dom); -@@ -1163,7 +1159,7 @@ cmdSave(vshControl *ctl, const vshCmd *c - if (virDomainSave(dom, to) == 0) { - vshPrint(ctl, _("Domain %s saved to %s\n"), name, to); - } else { -- vshError(ctl, FALSE, _("Failed to save domain %s to %s"), name, to); -+ vshError(ctl, _("Failed to save domain %s to %s"), name, to); - ret = FALSE; - } - -@@ -1202,7 +1198,7 @@ cmdSchedInfoUpdate(vshControl *ctl, cons - int val; - val = vshCommandOptInt(cmd, "weight", &found); - if (!found) { -- vshError(ctl, FALSE, "%s", _("Invalid value of weight")); -+ vshError(ctl, "%s", _("Invalid value of weight")); - return -1; - } else { - param->value.ui = val; -@@ -1217,7 +1213,7 @@ cmdSchedInfoUpdate(vshControl *ctl, cons - int val; - val = vshCommandOptInt(cmd, "cap", &found); - if (!found) { -- vshError(ctl, FALSE, "%s", _("Invalid value of cap")); -+ vshError(ctl, "%s", _("Invalid value of cap")); - return -1; - } else { - param->value.ui = val; -@@ -1229,7 +1225,7 @@ cmdSchedInfoUpdate(vshControl *ctl, cons - char *val = strchr(data, '='); - int match = 0; - if (!val) { -- vshError(ctl, FALSE, "%s", _("Invalid syntax for --set, expecting name=value")); -+ vshError(ctl, "%s", _("Invalid syntax for --set, expecting name=value")); - return -1; - } - *val = '\0'; -@@ -1243,35 +1239,35 @@ cmdSchedInfoUpdate(vshControl *ctl, cons - switch (param->type) { - case VIR_DOMAIN_SCHED_FIELD_INT: - if (virStrToLong_i(val, NULL, 10, ¶m->value.i) < 0) { -- vshError(ctl, FALSE, "%s", -+ vshError(ctl, "%s", - _("Invalid value for parameter, expecting an int")); - return -1; - } - break; - case VIR_DOMAIN_SCHED_FIELD_UINT: - if (virStrToLong_ui(val, NULL, 10, ¶m->value.ui) < 0) { -- vshError(ctl, FALSE, "%s", -+ vshError(ctl, "%s", - _("Invalid value for parameter, expecting an unsigned int")); - return -1; - } - break; - case VIR_DOMAIN_SCHED_FIELD_LLONG: - if (virStrToLong_ll(val, NULL, 10, ¶m->value.l) < 0) { -- vshError(ctl, FALSE, "%s", -+ vshError(ctl, "%s", - _("Invalid value for parameter, expecting an long long")); - return -1; - } - break; - case VIR_DOMAIN_SCHED_FIELD_ULLONG: - if (virStrToLong_ull(val, NULL, 10, ¶m->value.ul) < 0) { -- vshError(ctl, FALSE, "%s", -+ vshError(ctl, "%s", - _("Invalid value for parameter, expecting an unsigned long long")); - return -1; - } - break; - case VIR_DOMAIN_SCHED_FIELD_DOUBLE: - if (virStrToDouble(val, NULL, ¶m->value.d) < 0) { -- vshError(ctl, FALSE, "%s", _("Invalid value for parameter, expecting a double")); -+ vshError(ctl, "%s", _("Invalid value for parameter, expecting a double")); - return -1; - } - break; -@@ -1408,7 +1404,7 @@ cmdRestore(vshControl *ctl, const vshCmd - if (virDomainRestore(ctl->conn, from) == 0) { - vshPrint(ctl, _("Domain restored from %s\n"), from); - } else { -- vshError(ctl, FALSE, _("Failed to restore domain from %s"), from); -+ vshError(ctl, _("Failed to restore domain from %s"), from); - ret = FALSE; - } - return ret; -@@ -1449,8 +1445,7 @@ cmdDump(vshControl *ctl, const vshCmd *c - if (virDomainCoreDump(dom, to, 0) == 0) { - vshPrint(ctl, _("Domain %s dumped to %s\n"), name, to); - } else { -- vshError(ctl, FALSE, _("Failed to core dump domain %s to %s"), -- name, to); -+ vshError(ctl, _("Failed to core dump domain %s to %s"), name, to); - ret = FALSE; - } - -@@ -1488,7 +1483,7 @@ cmdResume(vshControl *ctl, const vshCmd - if (virDomainResume(dom) == 0) { - vshPrint(ctl, _("Domain %s resumed\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to resume domain %s"), name); -+ vshError(ctl, _("Failed to resume domain %s"), name); - ret = FALSE; - } - -@@ -1526,7 +1521,7 @@ cmdShutdown(vshControl *ctl, const vshCm - if (virDomainShutdown(dom) == 0) { - vshPrint(ctl, _("Domain %s is being shutdown\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to shutdown domain %s"), name); -+ vshError(ctl, _("Failed to shutdown domain %s"), name); - ret = FALSE; - } - -@@ -1564,7 +1559,7 @@ cmdReboot(vshControl *ctl, const vshCmd - if (virDomainReboot(dom, 0) == 0) { - vshPrint(ctl, _("Domain %s is being rebooted\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to reboot domain %s"), name); -+ vshError(ctl, _("Failed to reboot domain %s"), name); - ret = FALSE; - } - -@@ -1602,7 +1597,7 @@ cmdDestroy(vshControl *ctl, const vshCmd - if (virDomainDestroy(dom) == 0) { - vshPrint(ctl, _("Domain %s destroyed\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to destroy domain %s"), name); -+ vshError(ctl, _("Failed to destroy domain %s"), name); - ret = FALSE; - } - -@@ -1835,8 +1830,8 @@ cmdVcpuinfo(vshControl *ctl, const vshCm - } - } else { - if (info.state == VIR_DOMAIN_SHUTOFF) { -- vshError(ctl, FALSE, "%s", -- _("Domain shut off, virtual CPUs not present.")); -+ vshError(ctl, "%s", -+ _("Domain shut off, virtual CPUs not present.")); - } - ret = FALSE; - } -@@ -1886,14 +1881,13 @@ cmdVcpupin(vshControl *ctl, const vshCmd - - vcpu = vshCommandOptInt(cmd, "vcpu", &vcpufound); - if (!vcpufound) { -- vshError(ctl, FALSE, "%s", -- _("vcpupin: Invalid or missing vCPU number.")); -+ vshError(ctl, "%s", _("vcpupin: Invalid or missing vCPU number.")); - virDomainFree(dom); - return FALSE; - } - - if (!(cpulist = vshCommandOptString(cmd, "cpulist", NULL))) { -- vshError(ctl, FALSE, "%s", _("vcpupin: Missing cpulist")); -+ vshError(ctl, "%s", _("vcpupin: Missing cpulist")); - virDomainFree(dom); - return FALSE; - } -@@ -1904,14 +1898,13 @@ cmdVcpupin(vshControl *ctl, const vshCmd - } - - if (virDomainGetInfo(dom, &info) != 0) { -- vshError(ctl, FALSE, "%s", -- _("vcpupin: failed to get domain informations.")); -+ vshError(ctl, "%s", _("vcpupin: failed to get domain informations.")); - virDomainFree(dom); - return FALSE; - } - - if (vcpu >= info.nrVirtCpu) { -- vshError(ctl, FALSE, "%s", _("vcpupin: Invalid vCPU number.")); -+ vshError(ctl, "%s", _("vcpupin: Invalid vCPU number.")); - virDomainFree(dom); - return FALSE; - } -@@ -1920,7 +1913,7 @@ cmdVcpupin(vshControl *ctl, const vshCmd - * numbers and give an intelligent error message if not. - */ - if (cpulist[0] == '\0') { -- vshError(ctl, FALSE, "%s", _("cpulist: Invalid format. Empty string.")); -+ vshError(ctl, "%s", _("cpulist: Invalid format. Empty string.")); - virDomainFree (dom); - return FALSE; - } -@@ -1930,7 +1923,9 @@ cmdVcpupin(vshControl *ctl, const vshCmd - switch (state) { - case expect_num: - if (!c_isdigit (cpulist[i])) { -- vshError( ctl, FALSE, _("cpulist: %s: Invalid format. Expecting digit at position %d (near '%c')."), cpulist, i, cpulist[i]); -+ vshError(ctl, _("cpulist: %s: Invalid format. Expecting " -+ "digit at position %d (near '%c')."), -+ cpulist, i, cpulist[i]); - virDomainFree (dom); - return FALSE; - } -@@ -1940,14 +1935,18 @@ cmdVcpupin(vshControl *ctl, const vshCmd - if (cpulist[i] == ',') - state = expect_num; - else if (!c_isdigit (cpulist[i])) { -- vshError(ctl, FALSE, _("cpulist: %s: Invalid format. Expecting digit or comma at position %d (near '%c')."), cpulist, i, cpulist[i]); -+ vshError(ctl, _("cpulist: %s: Invalid format. Expecting " -+ "digit or comma at position %d (near '%c')."), -+ cpulist, i, cpulist[i]); - virDomainFree (dom); - return FALSE; - } - } - } - if (state == expect_num) { -- vshError(ctl, FALSE, _("cpulist: %s: Invalid format. Trailing comma at position %d."), cpulist, i); -+ vshError(ctl, _("cpulist: %s: Invalid format. Trailing comma " -+ "at position %d."), -+ cpulist, i); - virDomainFree (dom); - return FALSE; - } -@@ -1961,7 +1960,7 @@ cmdVcpupin(vshControl *ctl, const vshCmd - if (cpu < VIR_NODEINFO_MAXCPUS(nodeinfo)) { - VIR_USE_CPU(cpumap, cpu); - } else { -- vshError(ctl, FALSE, _("Physical CPU %d doesn't exist."), cpu); -+ vshError(ctl, _("Physical CPU %d doesn't exist."), cpu); - free(cpumap); - virDomainFree(dom); - return FALSE; -@@ -2011,7 +2010,7 @@ cmdSetvcpus(vshControl *ctl, const vshCm - - count = vshCommandOptInt(cmd, "count", &count); - if (count <= 0) { -- vshError(ctl, FALSE, "%s", _("Invalid number of virtual CPUs.")); -+ vshError(ctl, "%s", _("Invalid number of virtual CPUs.")); - virDomainFree(dom); - return FALSE; - } -@@ -2023,7 +2022,7 @@ cmdSetvcpus(vshControl *ctl, const vshCm - } - - if (count > maxcpu) { -- vshError(ctl, FALSE, "%s", _("Too many virtual CPUs.")); -+ vshError(ctl, "%s", _("Too many virtual CPUs.")); - virDomainFree(dom); - return FALSE; - } -@@ -2068,19 +2067,19 @@ cmdSetmem(vshControl *ctl, const vshCmd - kilobytes = vshCommandOptInt(cmd, "kilobytes", &kilobytes); - if (kilobytes <= 0) { - virDomainFree(dom); -- vshError(ctl, FALSE, _("Invalid value of %d for memory size"), kilobytes); -+ vshError(ctl, _("Invalid value of %d for memory size"), kilobytes); - return FALSE; - } - - if (virDomainGetInfo(dom, &info) != 0) { - virDomainFree(dom); -- vshError(ctl, FALSE, "%s", _("Unable to verify MaxMemorySize")); -+ vshError(ctl, "%s", _("Unable to verify MaxMemorySize")); - return FALSE; - } - - if (kilobytes > info.maxMem) { - virDomainFree(dom); -- vshError(ctl, FALSE, _("Invalid value of %d for memory size"), kilobytes); -+ vshError(ctl, _("Invalid value of %d for memory size"), kilobytes); - return FALSE; - } - -@@ -2124,26 +2123,26 @@ cmdSetmaxmem(vshControl *ctl, const vshC - kilobytes = vshCommandOptInt(cmd, "kilobytes", &kilobytes); - if (kilobytes <= 0) { - virDomainFree(dom); -- vshError(ctl, FALSE, _("Invalid value of %d for memory size"), kilobytes); -+ vshError(ctl, _("Invalid value of %d for memory size"), kilobytes); - return FALSE; - } - - if (virDomainGetInfo(dom, &info) != 0) { - virDomainFree(dom); -- vshError(ctl, FALSE, "%s", _("Unable to verify current MemorySize")); -+ vshError(ctl, "%s", _("Unable to verify current MemorySize")); - return FALSE; - } - - if (kilobytes < info.memory) { - if (virDomainSetMemory(dom, kilobytes) != 0) { - virDomainFree(dom); -- vshError(ctl, FALSE, "%s", _("Unable to shrink current MemorySize")); -+ vshError(ctl, "%s", _("Unable to shrink current MemorySize")); - return FALSE; - } - } - - if (virDomainSetMaxMemory(dom, kilobytes) != 0) { -- vshError(ctl, FALSE, "%s", _("Unable to change MaxMemorySize")); -+ vshError(ctl, "%s", _("Unable to change MaxMemorySize")); - ret = FALSE; - } - -@@ -2169,7 +2168,7 @@ cmdNodeinfo(vshControl *ctl, const vshCm - return FALSE; - - if (virNodeGetInfo(ctl->conn, &info) < 0) { -- vshError(ctl, FALSE, "%s", _("failed to get node information")); -+ vshError(ctl, "%s", _("failed to get node information")); - return FALSE; - } - vshPrint(ctl, "%-20s %s\n", _("CPU model:"), info.model); -@@ -2202,7 +2201,7 @@ cmdCapabilities (vshControl *ctl, const - return FALSE; - - if ((caps = virConnectGetCapabilities (ctl->conn)) == NULL) { -- vshError(ctl, FALSE, "%s", _("failed to get capabilities")); -+ vshError(ctl, "%s", _("failed to get capabilities")); - return FALSE; - } - vshPrint (ctl, "%s\n", caps); -@@ -2446,7 +2445,7 @@ cmdDomuuid(vshControl *ctl, const vshCmd - if (virDomainGetUUIDString(dom, uuid) != -1) - vshPrint(ctl, "%s\n", uuid); - else -- vshError(ctl, FALSE, "%s", _("failed to get domain UUID")); -+ vshError(ctl, "%s", _("failed to get domain UUID")); - - virDomainFree(dom); - return TRUE; -@@ -2489,7 +2488,7 @@ cmdMigrate (vshControl *ctl, const vshCm - - desturi = vshCommandOptString (cmd, "desturi", &found); - if (!found) { -- vshError (ctl, FALSE, "%s", _("migrate: Missing desturi")); -+ vshError(ctl, "%s", _("migrate: Missing desturi")); - goto done; - } - -@@ -2550,11 +2549,9 @@ cmdNetworkAutostart(vshControl *ctl, con - - if (virNetworkSetAutostart(network, autostart) < 0) { - if (autostart) -- vshError(ctl, FALSE, _("failed to mark network %s as autostarted"), -- name); -+ vshError(ctl, _("failed to mark network %s as autostarted"), name); - else -- vshError(ctl, FALSE,_("failed to unmark network %s as autostarted"), -- name); -+ vshError(ctl, _("failed to unmark network %s as autostarted"), name); - virNetworkFree(network); - return FALSE; - } -@@ -2609,7 +2606,7 @@ cmdNetworkCreate(vshControl *ctl, const - virNetworkGetName(network), from); - virNetworkFree(network); - } else { -- vshError(ctl, FALSE, _("Failed to create network from %s"), from); -+ vshError(ctl, _("Failed to create network from %s"), from); - ret = FALSE; - } - return ret; -@@ -2657,7 +2654,7 @@ cmdNetworkDefine(vshControl *ctl, const - virNetworkGetName(network), from); - virNetworkFree(network); - } else { -- vshError(ctl, FALSE, _("Failed to define network from %s"), from); -+ vshError(ctl, _("Failed to define network from %s"), from); - ret = FALSE; - } - return ret; -@@ -2694,7 +2691,7 @@ cmdNetworkDestroy(vshControl *ctl, const - if (virNetworkDestroy(network) == 0) { - vshPrint(ctl, _("Network %s destroyed\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to destroy network %s"), name); -+ vshError(ctl, _("Failed to destroy network %s"), name); - ret = FALSE; - } - -@@ -2811,8 +2808,8 @@ cmdInterfaceEdit (vshControl *ctl, const - goto cleanup; - - if (STRNEQ (doc, doc_reread)) { -- vshError (ctl, FALSE, "%s", -- _("ERROR: the XML configuration was changed by another user")); -+ vshError(ctl, "%s", -+ _("ERROR: the XML configuration was changed by another user")); - goto cleanup; - } - -@@ -2874,7 +2871,7 @@ cmdNetworkList(vshControl *ctl, const vs - if (active) { - maxactive = virConnectNumOfNetworks(ctl->conn); - if (maxactive < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list active networks")); -+ vshError(ctl, "%s", _("Failed to list active networks")); - return FALSE; - } - if (maxactive) { -@@ -2882,7 +2879,7 @@ cmdNetworkList(vshControl *ctl, const vs - - if ((maxactive = virConnectListNetworks(ctl->conn, activeNames, - maxactive)) < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list active networks")); -+ vshError(ctl, "%s", _("Failed to list active networks")); - free(activeNames); - return FALSE; - } -@@ -2893,7 +2890,7 @@ cmdNetworkList(vshControl *ctl, const vs - if (inactive) { - maxinactive = virConnectNumOfDefinedNetworks(ctl->conn); - if (maxinactive < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list inactive networks")); -+ vshError(ctl, "%s", _("Failed to list inactive networks")); - free(activeNames); - return FALSE; - } -@@ -2903,8 +2900,7 @@ cmdNetworkList(vshControl *ctl, const vs - if ((maxinactive = - virConnectListDefinedNetworks(ctl->conn, inactiveNames, - maxinactive)) < 0) { -- vshError(ctl, FALSE, "%s", -- _("Failed to list inactive networks")); -+ vshError(ctl, "%s", _("Failed to list inactive networks")); - free(activeNames); - free(inactiveNames); - return FALSE; -@@ -3032,7 +3028,7 @@ cmdNetworkStart(vshControl *ctl, const v - vshPrint(ctl, _("Network %s started\n"), - virNetworkGetName(network)); - } else { -- vshError(ctl, FALSE, _("Failed to start network %s"), -+ vshError(ctl, _("Failed to start network %s"), - virNetworkGetName(network)); - ret = FALSE; - } -@@ -3071,7 +3067,7 @@ cmdNetworkUndefine(vshControl *ctl, cons - if (virNetworkUndefine(network) == 0) { - vshPrint(ctl, _("Network %s has been undefined\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to undefine network %s"), name); -+ vshError(ctl, _("Failed to undefine network %s"), name); - ret = FALSE; - } - -@@ -3110,7 +3106,7 @@ cmdNetworkUuid(vshControl *ctl, const vs - if (virNetworkGetUUIDString(network, uuid) != -1) - vshPrint(ctl, "%s\n", uuid); - else -- vshError(ctl, FALSE, "%s", _("failed to get network UUID")); -+ vshError(ctl, "%s", _("failed to get network UUID")); - - virNetworkFree(network); - return TRUE; -@@ -3148,7 +3144,7 @@ cmdInterfaceList(vshControl *ctl, const - if (active) { - maxactive = virConnectNumOfInterfaces(ctl->conn); - if (maxactive < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list active interfaces")); -+ vshError(ctl, "%s", _("Failed to list active interfaces")); - return FALSE; - } - if (maxactive) { -@@ -3156,8 +3152,7 @@ cmdInterfaceList(vshControl *ctl, const - - if ((maxactive = virConnectListInterfaces(ctl->conn, activeNames, - maxactive)) < 0) { -- vshError(ctl, FALSE, "%s", -- _("Failed to list active interfaces")); -+ vshError(ctl, "%s", _("Failed to list active interfaces")); - free(activeNames); - return FALSE; - } -@@ -3168,8 +3163,7 @@ cmdInterfaceList(vshControl *ctl, const - if (inactive) { - maxinactive = virConnectNumOfDefinedInterfaces(ctl->conn); - if (maxinactive < 0) { -- vshError(ctl, FALSE, "%s", -- _("Failed to list inactive interfaces")); -+ vshError(ctl, "%s", _("Failed to list inactive interfaces")); - free(activeNames); - return FALSE; - } -@@ -3179,8 +3173,7 @@ cmdInterfaceList(vshControl *ctl, const - if ((maxinactive = - virConnectListDefinedInterfaces(ctl->conn, inactiveNames, - maxinactive)) < 0) { -- vshError(ctl, FALSE, "%s", -- _("Failed to list inactive interfaces")); -+ vshError(ctl, "%s", _("Failed to list inactive interfaces")); - free(activeNames); - free(inactiveNames); - return FALSE; -@@ -3373,7 +3366,7 @@ cmdInterfaceDefine(vshControl *ctl, cons - virInterfaceGetName(iface), from); - virInterfaceFree (iface); - } else { -- vshError(ctl, FALSE, _("Failed to define interface from %s"), from); -+ vshError(ctl, _("Failed to define interface from %s"), from); - ret = FALSE; - } - return ret; -@@ -3409,7 +3402,7 @@ cmdInterfaceUndefine(vshControl *ctl, co - if (virInterfaceUndefine(iface) == 0) { - vshPrint(ctl, _("Interface %s undefined\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to undefine interface %s"), name); -+ vshError(ctl, _("Failed to undefine interface %s"), name); - ret = FALSE; - } - -@@ -3447,7 +3440,7 @@ cmdInterfaceStart(vshControl *ctl, const - if (virInterfaceCreate(iface, 0) == 0) { - vshPrint(ctl, _("Interface %s started\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to start interface %s"), name); -+ vshError(ctl, _("Failed to start interface %s"), name); - ret = FALSE; - } - -@@ -3485,7 +3478,7 @@ cmdInterfaceDestroy(vshControl *ctl, con - if (virInterfaceDestroy(iface, 0) == 0) { - vshPrint(ctl, _("Interface %s destroyed\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to destroy interface %s"), name); -+ vshError(ctl, _("Failed to destroy interface %s"), name); - ret = FALSE; - } - -@@ -3527,11 +3520,9 @@ cmdPoolAutostart(vshControl *ctl, const - - if (virStoragePoolSetAutostart(pool, autostart) < 0) { - if (autostart) -- vshError(ctl, FALSE, _("failed to mark pool %s as autostarted"), -- name); -+ vshError(ctl, _("failed to mark pool %s as autostarted"), name); - else -- vshError(ctl, FALSE,_("failed to unmark pool %s as autostarted"), -- name); -+ vshError(ctl, _("failed to unmark pool %s as autostarted"), name); - virStoragePoolFree(pool); - return FALSE; - } -@@ -3587,7 +3578,7 @@ cmdPoolCreate(vshControl *ctl, const vsh - virStoragePoolGetName(pool), from); - virStoragePoolFree(pool); - } else { -- vshError(ctl, FALSE, _("Failed to create pool from %s"), from); -+ vshError(ctl, _("Failed to create pool from %s"), from); - ret = FALSE; - } - return ret; -@@ -3641,7 +3632,7 @@ cmdNodeDeviceCreate(vshControl *ctl, con - virNodeDeviceGetName(dev), from); - virNodeDeviceFree(dev); - } else { -- vshError(ctl, FALSE, _("Failed to create node device from %s"), from); -+ vshError(ctl, _("Failed to create node device from %s"), from); - ret = FALSE; - } - -@@ -3687,7 +3678,7 @@ cmdNodeDeviceDestroy(vshControl *ctl, co - if (virNodeDeviceDestroy(dev) == 0) { - vshPrint(ctl, _("Destroyed node device '%s'\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to destroy node device '%s'"), name); -+ vshError(ctl, _("Failed to destroy node device '%s'"), name); - ret = FALSE; - } - -@@ -3800,7 +3791,7 @@ cmdPoolCreateAs(vshControl *ctl, const v - vshPrint(ctl, _("Pool %s created\n"), name); - virStoragePoolFree(pool); - } else { -- vshError(ctl, FALSE, _("Failed to create pool %s"), name); -+ vshError(ctl, _("Failed to create pool %s"), name); - return FALSE; - } - } -@@ -3849,7 +3840,7 @@ cmdPoolDefine(vshControl *ctl, const vsh - virStoragePoolGetName(pool), from); - virStoragePoolFree(pool); - } else { -- vshError(ctl, FALSE, _("Failed to define pool from %s"), from); -+ vshError(ctl, _("Failed to define pool from %s"), from); - ret = FALSE; - } - return ret; -@@ -3889,7 +3880,7 @@ cmdPoolDefineAs(vshControl *ctl, const v - vshPrint(ctl, _("Pool %s defined\n"), name); - virStoragePoolFree(pool); - } else { -- vshError(ctl, FALSE, _("Failed to define pool %s"), name); -+ vshError(ctl, _("Failed to define pool %s"), name); - return FALSE; - } - } -@@ -3927,7 +3918,7 @@ cmdPoolBuild(vshControl *ctl, const vshC - if (virStoragePoolBuild(pool, 0) == 0) { - vshPrint(ctl, _("Pool %s built\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to build pool %s"), name); -+ vshError(ctl, _("Failed to build pool %s"), name); - ret = FALSE; - virStoragePoolFree(pool); - } -@@ -3966,7 +3957,7 @@ cmdPoolDestroy(vshControl *ctl, const vs - if (virStoragePoolDestroy(pool) == 0) { - vshPrint(ctl, _("Pool %s destroyed\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to destroy pool %s"), name); -+ vshError(ctl, _("Failed to destroy pool %s"), name); - ret = FALSE; - } - -@@ -4005,7 +3996,7 @@ cmdPoolDelete(vshControl *ctl, const vsh - if (virStoragePoolDelete(pool, 0) == 0) { - vshPrint(ctl, _("Pool %s deleted\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to delete pool %s"), name); -+ vshError(ctl, _("Failed to delete pool %s"), name); - ret = FALSE; - } - -@@ -4044,7 +4035,7 @@ cmdPoolRefresh(vshControl *ctl, const vs - if (virStoragePoolRefresh(pool, 0) == 0) { - vshPrint(ctl, _("Pool %s refreshed\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to refresh pool %s"), name); -+ vshError(ctl, _("Failed to refresh pool %s"), name); - ret = FALSE; - } - virStoragePoolFree(pool); -@@ -4124,7 +4115,7 @@ cmdPoolList(vshControl *ctl, const vshCm - if (active) { - maxactive = virConnectNumOfStoragePools(ctl->conn); - if (maxactive < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list active pools")); -+ vshError(ctl, "%s", _("Failed to list active pools")); - return FALSE; - } - if (maxactive) { -@@ -4132,7 +4123,7 @@ cmdPoolList(vshControl *ctl, const vshCm - - if ((maxactive = virConnectListStoragePools(ctl->conn, activeNames, - maxactive)) < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list active pools")); -+ vshError(ctl, "%s", _("Failed to list active pools")); - free(activeNames); - return FALSE; - } -@@ -4143,7 +4134,7 @@ cmdPoolList(vshControl *ctl, const vshCm - if (inactive) { - maxinactive = virConnectNumOfDefinedStoragePools(ctl->conn); - if (maxinactive < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list inactive pools")); -+ vshError(ctl, "%s", _("Failed to list inactive pools")); - free(activeNames); - return FALSE; - } -@@ -4151,7 +4142,7 @@ cmdPoolList(vshControl *ctl, const vshCm - inactiveNames = vshMalloc(ctl, sizeof(char *) * maxinactive); - - if ((maxinactive = virConnectListDefinedStoragePools(ctl->conn, inactiveNames, maxinactive)) < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list inactive pools")); -+ vshError(ctl, "%s", _("Failed to list inactive pools")); - free(activeNames); - free(inactiveNames); - return FALSE; -@@ -4273,10 +4264,10 @@ cmdPoolDiscoverSourcesAs(vshControl * ct - if (ret < 0) { - switch (errno) { - case ENOMEM: -- vshError(ctl, FALSE, "%s", _("Out of memory")); -+ vshError(ctl, "%s", _("Out of memory")); - break; - default: -- vshError(ctl, FALSE, _("virAsprintf failed (errno %d)"), errno); -+ vshError(ctl, _("virAsprintf failed (errno %d)"), errno); - } - return FALSE; - } -@@ -4285,7 +4276,7 @@ cmdPoolDiscoverSourcesAs(vshControl * ct - srcList = virConnectFindStoragePoolSources(ctl->conn, type, srcSpec, 0); - free(srcSpec); - if (srcList == NULL) { -- vshError(ctl, FALSE, _("Failed to find any %s pool sources"), type); -+ vshError(ctl, _("Failed to find any %s pool sources"), type); - return FALSE; - } - vshPrint(ctl, "%s", srcList); -@@ -4336,7 +4327,7 @@ cmdPoolDiscoverSources(vshControl * ctl, - srcList = virConnectFindStoragePoolSources(ctl->conn, type, srcSpec, 0); - free(srcSpec); - if (srcList == NULL) { -- vshError(ctl, FALSE, _("Failed to find any %s pool sources"), type); -+ vshError(ctl, _("Failed to find any %s pool sources"), type); - return FALSE; - } - vshPrint(ctl, "%s", srcList); -@@ -4503,8 +4494,7 @@ cmdPoolStart(vshControl *ctl, const vshC - vshPrint(ctl, _("Pool %s started\n"), - virStoragePoolGetName(pool)); - } else { -- vshError(ctl, FALSE, _("Failed to start pool %s"), -- virStoragePoolGetName(pool)); -+ vshError(ctl, _("Failed to start pool %s"), virStoragePoolGetName(pool)); - ret = FALSE; - } - -@@ -4585,12 +4575,12 @@ cmdVolCreateAs(vshControl *ctl, const vs - if (!found) - goto cleanup; - if (cmdVolSize(capacityStr, &capacity) < 0) -- vshError(ctl, FALSE, _("Malformed size %s"), capacityStr); -+ vshError(ctl, _("Malformed size %s"), capacityStr); - - allocationStr = vshCommandOptString(cmd, "allocation", &found); - if (allocationStr && - cmdVolSize(allocationStr, &allocation) < 0) -- vshError(ctl, FALSE, _("Malformed size %s"), allocationStr); -+ vshError(ctl, _("Malformed size %s"), allocationStr); - - format = vshCommandOptString(cmd, "format", &found); - -@@ -4623,7 +4613,7 @@ cmdVolCreateAs(vshControl *ctl, const vs - virStorageVolFree(vol); - return TRUE; - } else { -- vshError(ctl, FALSE, _("Failed to create vol %s"), name); -+ vshError(ctl, _("Failed to create vol %s"), name); - return FALSE; - } - -@@ -4664,7 +4654,7 @@ cmdPoolUndefine(vshControl *ctl, const v - if (virStoragePoolUndefine(pool) == 0) { - vshPrint(ctl, _("Pool %s has been undefined\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to undefine pool %s"), name); -+ vshError(ctl, _("Failed to undefine pool %s"), name); - ret = FALSE; - } - -@@ -4703,7 +4693,7 @@ cmdPoolUuid(vshControl *ctl, const vshCm - if (virStoragePoolGetUUIDString(pool, uuid) != -1) - vshPrint(ctl, "%s\n", uuid); - else -- vshError(ctl, FALSE, "%s", _("failed to get pool UUID")); -+ vshError(ctl, "%s", _("failed to get pool UUID")); - - virStoragePoolFree(pool); - return TRUE; -@@ -4762,7 +4752,7 @@ cmdVolCreate(vshControl *ctl, const vshC - virStorageVolGetName(vol), from); - virStorageVolFree(vol); - } else { -- vshError(ctl, FALSE, _("Failed to create vol from %s"), from); -+ vshError(ctl, _("Failed to create vol from %s"), from); - ret = FALSE; - } - return ret; -@@ -4819,7 +4809,7 @@ cmdVolCreateFrom(vshControl *ctl, const - vshPrint(ctl, _("Vol %s created from input vol %s\n"), - virStorageVolGetName(newvol), virStorageVolGetName(inputvol)); - } else { -- vshError(ctl, FALSE, _("Failed to create vol from %s"), from); -+ vshError(ctl, _("Failed to create vol from %s"), from); - goto cleanup; - } - -@@ -4901,7 +4891,7 @@ cmdVolClone(vshControl *ctl, const vshCm - - origpool = virStoragePoolLookupByVolume(origvol); - if (!origpool) { -- vshError(ctl, FALSE, "%s", _("failed to get parent pool")); -+ vshError(ctl, "%s", _("failed to get parent pool")); - goto cleanup; - } - -@@ -4925,7 +4915,7 @@ cmdVolClone(vshControl *ctl, const vshCm - vshPrint(ctl, _("Vol %s cloned from %s\n"), - virStorageVolGetName(newvol), virStorageVolGetName(origvol)); - } else { -- vshError(ctl, FALSE, _("Failed to clone vol from %s"), -+ vshError(ctl, _("Failed to clone vol from %s"), - virStorageVolGetName(origvol)); - goto cleanup; - } -@@ -4976,7 +4966,7 @@ cmdVolDelete(vshControl *ctl, const vshC - if (virStorageVolDelete(vol, 0) == 0) { - vshPrint(ctl, _("Vol %s deleted\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to delete vol %s"), name); -+ vshError(ctl, _("Failed to delete vol %s"), name); - ret = FALSE; - } - -@@ -5107,7 +5097,7 @@ cmdVolList(vshControl *ctl, const vshCmd - maxactive = virStoragePoolNumOfVolumes(pool); - if (maxactive < 0) { - virStoragePoolFree(pool); -- vshError(ctl, FALSE, "%s", _("Failed to list active vols")); -+ vshError(ctl, "%s", _("Failed to list active vols")); - return FALSE; - } - if (maxactive) { -@@ -5115,7 +5105,7 @@ cmdVolList(vshControl *ctl, const vshCmd - - if ((maxactive = virStoragePoolListVolumes(pool, activeNames, - maxactive)) < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list active vols")); -+ vshError(ctl, "%s", _("Failed to list active vols")); - free(activeNames); - virStoragePoolFree(pool); - return FALSE; -@@ -5288,12 +5278,11 @@ cmdSecretDefine(vshControl *ctl, const v - free (buffer); - - if (res == NULL) { -- vshError(ctl, FALSE, _("Failed to set attributes from %s"), from); -+ vshError(ctl, _("Failed to set attributes from %s"), from); - return FALSE; - } - if (virSecretGetUUIDString(res, &(uuid[0])) < 0) { -- vshError(ctl, FALSE, "%s", -- _("Failed to get UUID of created secret")); -+ vshError(ctl, "%s", _("Failed to get UUID of created secret")); - virSecretFree(res); - return FALSE; - } -@@ -5377,11 +5366,11 @@ cmdSecretSetValue(vshControl *ctl, const - goto cleanup; - - if (!base64_decode_alloc(base64, strlen(base64), &value, &value_size)) { -- vshError(ctl, FALSE, _("Invalid base64 data")); -+ vshError(ctl, _("Invalid base64 data")); - goto cleanup; - } - if (value == NULL) { -- vshError(ctl, FALSE, "%s", _("Failed to allocate memory")); -+ vshError(ctl, "%s", _("Failed to allocate memory")); - return FALSE; - } - -@@ -5390,7 +5379,7 @@ cmdSecretSetValue(vshControl *ctl, const - free (value); - - if (res != 0) { -- vshError(ctl, FALSE, "%s", _("Failed to set secret value")); -+ vshError(ctl, "%s", _("Failed to set secret value")); - goto cleanup; - } - vshPrint(ctl, "%s", _("Secret value set\n")); -@@ -5440,7 +5429,7 @@ cmdSecretGetValue(vshControl *ctl, const - free(value); - - if (base64 == NULL) { -- vshError(ctl, FALSE, "%s", _("Failed to allocate memory")); -+ vshError(ctl, "%s", _("Failed to allocate memory")); - goto cleanup; - } - printf("%s", base64); -@@ -5482,7 +5471,7 @@ cmdSecretUndefine(vshControl *ctl, const - return FALSE; - - if (virSecretUndefine(secret) < 0) { -- vshError(ctl, FALSE, _("Failed to delete secret %s"), uuid); -+ vshError(ctl, _("Failed to delete secret %s"), uuid); - goto cleanup; - } - vshPrint(ctl, _("Secret %s deleted\n"), uuid); -@@ -5513,14 +5502,14 @@ cmdSecretList(vshControl *ctl, const vsh - - maxuuids = virConnectNumOfSecrets(ctl->conn); - if (maxuuids < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list secrets")); -+ vshError(ctl, "%s", _("Failed to list secrets")); - return FALSE; - } - uuids = vshMalloc(ctl, sizeof(*uuids) * maxuuids); - - maxuuids = virConnectListSecrets(ctl->conn, uuids, maxuuids); - if (maxuuids < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list secrets")); -+ vshError(ctl, "%s", _("Failed to list secrets")); - free(uuids); - return FALSE; - } -@@ -5589,7 +5578,7 @@ cmdVersion(vshControl *ctl, const vshCmd - - hvType = virConnectGetType(ctl->conn); - if (hvType == NULL) { -- vshError(ctl, FALSE, "%s", _("failed to get hypervisor type")); -+ vshError(ctl, "%s", _("failed to get hypervisor type")); - return FALSE; - } - -@@ -5603,7 +5592,7 @@ cmdVersion(vshControl *ctl, const vshCmd - - ret = virGetVersion(&libVersion, hvType, &apiVersion); - if (ret < 0) { -- vshError(ctl, FALSE, "%s", _("failed to get the library version")); -+ vshError(ctl, "%s", _("failed to get the library version")); - return FALSE; - } - major = libVersion / 1000000; -@@ -5622,7 +5611,7 @@ cmdVersion(vshControl *ctl, const vshCmd - - ret = virConnectGetVersion(ctl->conn, &hvVersion); - if (ret < 0) { -- vshError(ctl, FALSE, "%s", _("failed to get the hypervisor version")); -+ vshError(ctl, "%s", _("failed to get the hypervisor version")); - return FALSE; - } - if (hvVersion == 0) { -@@ -5752,7 +5741,7 @@ cmdNodeListDevices (vshControl *ctl, con - - num_devices = virNodeNumOfDevices(ctl->conn, cap, 0); - if (num_devices < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to count node devices")); -+ vshError(ctl, "%s", _("Failed to count node devices")); - return FALSE; - } else if (num_devices == 0) { - return TRUE; -@@ -5762,7 +5751,7 @@ cmdNodeListDevices (vshControl *ctl, con - num_devices = - virNodeListDevices(ctl->conn, cap, devices, num_devices, 0); - if (num_devices < 0) { -- vshError(ctl, FALSE, "%s", _("Failed to list node devices")); -+ vshError(ctl, "%s", _("Failed to list node devices")); - free(devices); - return FALSE; - } -@@ -5835,7 +5824,7 @@ cmdNodeDeviceDumpXML (vshControl *ctl, c - if (!(name = vshCommandOptString(cmd, "device", NULL))) - return FALSE; - if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) { -- vshError(ctl, FALSE, "%s '%s'", _("Could not find matching device"), name); -+ vshError(ctl, "%s '%s'", _("Could not find matching device"), name); - return FALSE; - } - -@@ -5878,14 +5867,14 @@ cmdNodeDeviceDettach (vshControl *ctl, c - if (!(name = vshCommandOptString(cmd, "device", NULL))) - return FALSE; - if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) { -- vshError(ctl, FALSE, "%s '%s'", _("Could not find matching device"), name); -+ vshError(ctl, "%s '%s'", _("Could not find matching device"), name); - return FALSE; - } - - if (virNodeDeviceDettach(device) == 0) { - vshPrint(ctl, _("Device %s dettached\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to dettach device %s"), name); -+ vshError(ctl, _("Failed to dettach device %s"), name); - ret = FALSE; - } - virNodeDeviceFree(device); -@@ -5919,14 +5908,14 @@ cmdNodeDeviceReAttach (vshControl *ctl, - if (!(name = vshCommandOptString(cmd, "device", NULL))) - return FALSE; - if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) { -- vshError(ctl, FALSE, "%s '%s'", _("Could not find matching device"), name); -+ vshError(ctl, "%s '%s'", _("Could not find matching device"), name); - return FALSE; - } - - if (virNodeDeviceReAttach(device) == 0) { - vshPrint(ctl, _("Device %s re-attached\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to re-attach device %s"), name); -+ vshError(ctl, _("Failed to re-attach device %s"), name); - ret = FALSE; - } - virNodeDeviceFree(device); -@@ -5960,14 +5949,14 @@ cmdNodeDeviceReset (vshControl *ctl, con - if (!(name = vshCommandOptString(cmd, "device", NULL))) - return FALSE; - if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) { -- vshError(ctl, FALSE, "%s '%s'", _("Could not find matching device"), name); -+ vshError(ctl, "%s '%s'", _("Could not find matching device"), name); - return FALSE; - } - - if (virNodeDeviceReset(device) == 0) { - vshPrint(ctl, _("Device %s reset\n"), name); - } else { -- vshError(ctl, FALSE, _("Failed to reset device %s"), name); -+ vshError(ctl, _("Failed to reset device %s"), name); - ret = FALSE; - } - virNodeDeviceFree(device); -@@ -5993,7 +5982,7 @@ cmdHostname (vshControl *ctl, const vshC - - hostname = virConnectGetHostname (ctl->conn); - if (hostname == NULL) { -- vshError(ctl, FALSE, "%s", _("failed to get hostname")); -+ vshError(ctl, "%s", _("failed to get hostname")); - return FALSE; - } - -@@ -6022,7 +6011,7 @@ cmdURI (vshControl *ctl, const vshCmd *c - - uri = virConnectGetURI (ctl->conn); - if (uri == NULL) { -- vshError(ctl, FALSE, "%s", _("failed to get URI")); -+ vshError(ctl, "%s", _("failed to get URI")); - return FALSE; - } - -@@ -6200,7 +6189,7 @@ cmdAttachDevice(vshControl *ctl, const v - - from = vshCommandOptString(cmd, "file", &found); - if (!found) { -- vshError(ctl, FALSE, "%s", _("attach-device: Missing option")); -+ vshError(ctl, "%s", _("attach-device: Missing option")); - virDomainFree(dom); - return FALSE; - } -@@ -6214,7 +6203,7 @@ cmdAttachDevice(vshControl *ctl, const v - free (buffer); - - if (ret < 0) { -- vshError(ctl, FALSE, _("Failed to attach device from %s"), from); -+ vshError(ctl, _("Failed to attach device from %s"), from); - virDomainFree(dom); - return FALSE; - } else { -@@ -6258,7 +6247,7 @@ cmdDetachDevice(vshControl *ctl, const v - - from = vshCommandOptString(cmd, "file", &found); - if (!found) { -- vshError(ctl, FALSE, "%s", _("detach-device: Missing option")); -+ vshError(ctl, "%s", _("detach-device: Missing option")); - virDomainFree(dom); - return FALSE; - } -@@ -6272,7 +6261,7 @@ cmdDetachDevice(vshControl *ctl, const v - free (buffer); - - if (ret < 0) { -- vshError(ctl, FALSE, _("Failed to detach device from %s"), from); -+ vshError(ctl, _("Failed to detach device from %s"), from); - virDomainFree(dom); - return FALSE; - } else { -@@ -6331,7 +6320,7 @@ cmdAttachInterface(vshControl *ctl, cons - } else if (STREQ(type, "bridge")) { - typ = 2; - } else { -- vshError(ctl, FALSE, _("No support %s in command 'attach-interface'"), type); -+ vshError(ctl, _("No support %s in command 'attach-interface'"), type); - goto cleanup; - } - -@@ -6450,12 +6439,12 @@ cmdDetachInterface(vshControl *ctl, cons - XML_PARSE_NOWARNING); - free(doc); - if (!xml) { -- vshError(ctl, FALSE, "%s", _("Failed to get interface information")); -+ vshError(ctl, "%s", _("Failed to get interface information")); - goto cleanup; - } - ctxt = xmlXPathNewContext(xml); - if (!ctxt) { -- vshError(ctl, FALSE, "%s", _("Failed to get interface information")); -+ vshError(ctl, "%s", _("Failed to get interface information")); - goto cleanup; - } - -@@ -6463,7 +6452,7 @@ cmdDetachInterface(vshControl *ctl, cons - obj = xmlXPathEval(BAD_CAST buf, ctxt); - if ((obj == NULL) || (obj->type != XPATH_NODESET) || - (obj->nodesetval == NULL) || (obj->nodesetval->nodeNr == 0)) { -- vshError(ctl, FALSE, _("No found interface whose type is %s"), type); -+ vshError(ctl, _("No found interface whose type is %s"), type); - goto cleanup; - } - -@@ -6485,18 +6474,18 @@ cmdDetachInterface(vshControl *ctl, cons - cur = cur->next; - } - } -- vshError(ctl, FALSE, _("No found interface whose MAC address is %s"), mac); -+ vshError(ctl, _("No found interface whose MAC address is %s"), mac); - goto cleanup; - - hit: - xml_buf = xmlBufferCreate(); - if (!xml_buf) { -- vshError(ctl, FALSE, "%s", _("Failed to allocate memory")); -+ vshError(ctl, "%s", _("Failed to allocate memory")); - goto cleanup; - } - - if(xmlNodeDump(xml_buf, xml, obj->nodesetval->nodeTab[i], 0, 0) < 0){ -- vshError(ctl, FALSE, "%s", _("Failed to create XML")); -+ vshError(ctl, "%s", _("Failed to create XML")); - goto cleanup; - } - -@@ -6569,14 +6558,14 @@ cmdAttachDisk(vshControl *ctl, const vsh - if (STREQ(driver, "file") || STREQ(driver, "tap")) { - isFile = 1; - } else if (STRNEQ(driver, "phy")) { -- vshError(ctl, FALSE, _("No support %s in command 'attach-disk'"), driver); -+ vshError(ctl, _("No support %s in command 'attach-disk'"), driver); - goto cleanup; - } - } - - if (mode) { - if (STRNEQ(mode, "readonly") && STRNEQ(mode, "shareable")) { -- vshError(ctl, FALSE, _("No support %s in command 'attach-disk'"), mode); -+ vshError(ctl, _("No support %s in command 'attach-disk'"), mode); - goto cleanup; - } - } -@@ -6723,19 +6712,19 @@ cmdDetachDisk(vshControl *ctl, const vsh - XML_PARSE_NOWARNING); - free(doc); - if (!xml) { -- vshError(ctl, FALSE, "%s", _("Failed to get disk information")); -+ vshError(ctl, "%s", _("Failed to get disk information")); - goto cleanup; - } - ctxt = xmlXPathNewContext(xml); - if (!ctxt) { -- vshError(ctl, FALSE, "%s", _("Failed to get disk information")); -+ vshError(ctl, "%s", _("Failed to get disk information")); - goto cleanup; - } - - obj = xmlXPathEval(BAD_CAST "/domain/devices/disk", ctxt); - if ((obj == NULL) || (obj->type != XPATH_NODESET) || - (obj->nodesetval == NULL) || (obj->nodesetval->nodeNr == 0)) { -- vshError(ctl, FALSE, "%s", _("Failed to get disk information")); -+ vshError(ctl, "%s", _("Failed to get disk information")); - goto cleanup; - } - -@@ -6754,18 +6743,18 @@ cmdDetachDisk(vshControl *ctl, const vsh - cur = cur->next; - } - } -- vshError(ctl, FALSE, _("No found disk whose target is %s"), target); -+ vshError(ctl, _("No found disk whose target is %s"), target); - goto cleanup; - - hit: - xml_buf = xmlBufferCreate(); - if (!xml_buf) { -- vshError(ctl, FALSE, "%s", _("Failed to allocate memory")); -+ vshError(ctl, "%s", _("Failed to allocate memory")); - goto cleanup; - } - - if(xmlNodeDump(xml_buf, xml, obj->nodesetval->nodeTab[i], 0, 0) < 0){ -- vshError(ctl, FALSE, "%s", _("Failed to create XML")); -+ vshError(ctl, "%s", _("Failed to create XML")); - goto cleanup; - } - -@@ -6799,9 +6788,8 @@ editWriteToTempFile (vshControl *ctl, co - - ret = malloc (PATH_MAX); - if (!ret) { -- vshError(ctl, FALSE, -- _("malloc: failed to allocate temporary file name: %s"), -- strerror (errno)); -+ vshError(ctl, _("malloc: failed to allocate temporary file name: %s"), -+ strerror(errno)); - return NULL; - } - -@@ -6810,25 +6798,22 @@ editWriteToTempFile (vshControl *ctl, co - snprintf (ret, PATH_MAX, "%s/virshXXXXXX", tmpdir); - fd = mkstemp (ret); - if (fd == -1) { -- vshError(ctl, FALSE, -- _("mkstemp: failed to create temporary file: %s"), -- strerror (errno)); -+ vshError(ctl, _("mkstemp: failed to create temporary file: %s"), -+ strerror(errno)); - return NULL; - } - - if (safewrite (fd, doc, strlen (doc)) == -1) { -- vshError(ctl, FALSE, -- _("write: %s: failed to write to temporary file: %s"), -- ret, strerror (errno)); -+ vshError(ctl, _("write: %s: failed to write to temporary file: %s"), -+ ret, strerror(errno)); - close (fd); - unlink (ret); - free (ret); - return NULL; - } - if (close (fd) == -1) { -- vshError(ctl, FALSE, -- _("close: %s: failed to write or close temporary file: %s"), -- ret, strerror (errno)); -+ vshError(ctl, _("close: %s: failed to write or close temporary file: %s"), -+ ret, strerror(errno)); - unlink (ret); - free (ret); - return NULL; -@@ -6856,35 +6841,37 @@ editFile (vshControl *ctl, const char *f - * it does, refuse to run. - */ - if (strspn (editor, ACCEPTED_CHARS) != strlen (editor)) { -- vshError(ctl, FALSE, -- _("%s: $EDITOR environment variable contains shell meta or other unacceptable characters"), -+ vshError(ctl, -+ _("%s: $EDITOR environment variable contains shell meta or " -+ "other unacceptable characters"), - editor); - return -1; - } - /* Same for the filename. */ - if (strspn (filename, ACCEPTED_CHARS) != strlen (filename)) { -- vshError(ctl, FALSE, -- _("%s: temporary filename contains shell meta or other unacceptable characters (is $TMPDIR wrong?)"), -+ vshError(ctl, -+ _("%s: temporary filename contains shell meta or other " -+ "unacceptable characters (is $TMPDIR wrong?)"), - filename); - return -1; - } - - if (virAsprintf(&command, "%s %s", editor, filename) == -1) { -- vshError(ctl, FALSE, -+ vshError(ctl, - _("virAsprintf: could not create editing command: %s"), -- strerror (errno)); -+ strerror(errno)); - return -1; - } - - command_ret = system (command); - if (command_ret == -1) { -- vshError(ctl, FALSE, -- _("%s: edit command failed: %s"), command, strerror (errno)); -+ vshError(ctl, -+ _("%s: edit command failed: %s"), command, strerror(errno)); - free (command); - return -1; - } - if (command_ret != WEXITSTATUS (0)) { -- vshError(ctl, FALSE, -+ vshError(ctl, - _("%s: command exited with non-zero status"), command); - free (command); - return -1; -@@ -6899,9 +6886,9 @@ editReadBackFile (vshControl *ctl, const - char *ret; - - if (virFileReadAll (filename, VIRSH_MAX_XML_FILE, &ret) == -1) { -- vshError(ctl, FALSE, -+ vshError(ctl, - _("%s: failed to read temporary file: %s"), -- filename, strerror (errno)); -+ filename, strerror(errno)); - return NULL; - } - return ret; -@@ -6930,8 +6917,7 @@ cmdCd(vshControl *ctl, const vshCmd *cmd - int found; - - if (!ctl->imode) { -- vshError(ctl, FALSE, "%s", -- _("cd: command valid only in interactive mode")); -+ vshError(ctl, "%s", _("cd: command valid only in interactive mode")); - return -1; - } - -@@ -6944,7 +6930,7 @@ cmdCd(vshControl *ctl, const vshCmd *cmd - dir = "/"; - - if (chdir (dir) == -1) { -- vshError(ctl, FALSE, _("cd: %s: %s"), strerror (errno), dir); -+ vshError(ctl, _("cd: %s: %s"), strerror(errno), dir); - return -1; - } - -@@ -6982,7 +6968,8 @@ cmdPwd(vshControl *ctl, const vshCmd *cm - } - - if (err) -- vshError(ctl, FALSE, _("pwd: cannot get current directory: %s"), strerror (errno)); -+ vshError(ctl, _("pwd: cannot get current directory: %s"), -+ strerror(errno)); - else - vshPrint (ctl, _("%s\n"), cwd); - -@@ -7062,8 +7049,8 @@ cmdEdit (vshControl *ctl, const vshCmd * - goto cleanup; - - if (STRNEQ (doc, doc_reread)) { -- vshError (ctl, FALSE, -- "%s", _("ERROR: the XML configuration was changed by another user")); -+ vshError(ctl, -+ "%s", _("ERROR: the XML configuration was changed by another user")); - goto cleanup; - } - -@@ -7348,7 +7335,7 @@ vshCommandCheckOpts(vshControl *ctl, con - o = o->next; - } - if (!ok) { -- vshError(ctl, FALSE, -+ vshError(ctl, - d->type == VSH_OT_DATA ? - _("command '%s' requires <%s> option") : - _("command '%s' requires --%s option"), -@@ -7378,7 +7365,7 @@ vshCmddefHelp(vshControl *ctl, const cha - const vshCmdDef *def = vshCmddefSearch(cmdname); - - if (!def) { -- vshError(ctl, FALSE, _("command '%s' doesn't exist"), cmdname); -+ vshError(ctl, _("command '%s' doesn't exist"), cmdname); - return FALSE; - } else { - const char *desc = N_(vshCmddefGetInfo(def, "desc")); -@@ -7577,8 +7564,7 @@ cmd_has_option (vshControl *ctl, const v - } - - if (!found) -- vshError(ctl, FALSE, -- _("internal error: virsh %s: no %s VSH_OT_DATA option"), -+ vshError(ctl, _("internal error: virsh %s: no %s VSH_OT_DATA option"), - cmd->def->name, optname); - return found; - } -@@ -7595,7 +7581,7 @@ vshCommandOptDomainBy(vshControl *ctl, c - return NULL; - - if (!(n = vshCommandOptString(cmd, optname, NULL))) { -- vshError(ctl, FALSE, "%s", _("undefined domain name or id")); -+ vshError(ctl, "%s", _("undefined domain name or id")); - return NULL; - } - -@@ -7627,7 +7613,7 @@ vshCommandOptDomainBy(vshControl *ctl, c - } - - if (!dom) -- vshError(ctl, FALSE, _("failed to get domain '%s'"), n); -+ vshError(ctl, _("failed to get domain '%s'"), n); - - return dom; - } -@@ -7643,7 +7629,7 @@ vshCommandOptNetworkBy(vshControl *ctl, - return NULL; - - if (!(n = vshCommandOptString(cmd, optname, NULL))) { -- vshError(ctl, FALSE, "%s", _("undefined network name")); -+ vshError(ctl, "%s", _("undefined network name")); - return NULL; - } - -@@ -7667,7 +7653,7 @@ vshCommandOptNetworkBy(vshControl *ctl, - } - - if (!network) -- vshError(ctl, FALSE, _("failed to get network '%s'"), n); -+ vshError(ctl, _("failed to get network '%s'"), n); - - return network; - } -@@ -7683,7 +7669,7 @@ vshCommandOptInterfaceBy(vshControl *ctl - return NULL; - - if (!(n = vshCommandOptString(cmd, optname, NULL))) { -- vshError(ctl, FALSE, "%s", _("undefined interface identifier")); -+ vshError(ctl, "%s", _("undefined interface identifier")); - return NULL; - } - -@@ -7707,7 +7693,7 @@ vshCommandOptInterfaceBy(vshControl *ctl - } - - if (!iface) -- vshError(ctl, FALSE, _("failed to get interface '%s'"), n); -+ vshError(ctl, _("failed to get interface '%s'"), n); - - return iface; - } -@@ -7720,7 +7706,7 @@ vshCommandOptPoolBy(vshControl *ctl, con - char *n; - - if (!(n = vshCommandOptString(cmd, optname, NULL))) { -- vshError(ctl, FALSE, "%s", _("undefined pool name")); -+ vshError(ctl, "%s", _("undefined pool name")); - return NULL; - } - -@@ -7744,7 +7730,7 @@ vshCommandOptPoolBy(vshControl *ctl, con - } - - if (!pool) -- vshError(ctl, FALSE, _("failed to get pool '%s'"), n); -+ vshError(ctl, _("failed to get pool '%s'"), n); - - return pool; - } -@@ -7761,12 +7747,12 @@ vshCommandOptVolBy(vshControl *ctl, cons - int found; - - if (!(n = vshCommandOptString(cmd, optname, NULL))) { -- vshError(ctl, FALSE, "%s", _("undefined vol name")); -+ vshError(ctl, "%s", _("undefined vol name")); - return NULL; - } - - if (!(p = vshCommandOptString(cmd, pooloptname, &found)) && found) { -- vshError(ctl, FALSE, "%s", _("undefined pool name")); -+ vshError(ctl, "%s", _("undefined pool name")); - return NULL; - } - -@@ -7797,7 +7783,7 @@ vshCommandOptVolBy(vshControl *ctl, cons - } - - if (!vol) -- vshError(ctl, FALSE, _("failed to get vol '%s'"), n); -+ vshError(ctl, _("failed to get vol '%s'"), n); - - if (pool) - virStoragePoolFree(pool); -@@ -7817,7 +7803,7 @@ vshCommandOptSecret(vshControl *ctl, con - - n = vshCommandOptString(cmd, optname, NULL); - if (n == NULL) { -- vshError(ctl, FALSE, "%s", _("undefined secret UUID")); -+ vshError(ctl, "%s", _("undefined secret UUID")); - return NULL; - } - -@@ -7829,7 +7815,7 @@ vshCommandOptSecret(vshControl *ctl, con - secret = virSecretLookupByUUIDString(ctl->conn, n); - - if (secret == NULL) -- vshError(ctl, FALSE, _("failed to get secret '%s'"), n); -+ vshError(ctl, _("failed to get secret '%s'"), n); - - return secret; - } -@@ -7934,7 +7920,7 @@ vshCommandGetToken(vshControl *ctl, char - sz++; - } - if (quote) { -- vshError(ctl, FALSE, "%s", _("missing \"")); -+ vshError(ctl, "%s", _("missing \"")); - return VSH_TK_ERROR; - } - if (tkstr == NULL || *tkstr == '\0' || p == NULL) -@@ -7994,19 +7980,19 @@ vshCommandParse(vshControl *ctl, char *c - if (cmd == NULL) { - /* first token must be command name */ - if (tk != VSH_TK_DATA) { -- vshError(ctl, FALSE, -+ vshError(ctl, - _("unexpected token (command name): '%s'"), - tkdata); - goto syntaxError; - } - if (!(cmd = vshCmddefSearch(tkdata))) { -- vshError(ctl, FALSE, _("unknown command: '%s'"), tkdata); -+ vshError(ctl, _("unknown command: '%s'"), tkdata); - goto syntaxError; /* ... or ignore this command only? */ - } - free(tkdata); - } else if (tk == VSH_TK_OPTION) { - if (!(opt = vshCmddefGetOption(cmd, tkdata))) { -- vshError(ctl, FALSE, -+ vshError(ctl, - _("command '%s' doesn't support option --%s"), - cmd->name, tkdata); - goto syntaxError; -@@ -8021,7 +8007,7 @@ vshCommandParse(vshControl *ctl, char *c - if (tk == VSH_TK_ERROR) - goto syntaxError; - if (tk != VSH_TK_DATA) { -- vshError(ctl, FALSE, -+ vshError(ctl, - _("expected syntax: --%s <%s>"), - opt->name, - opt->type == -@@ -8031,7 +8017,7 @@ vshCommandParse(vshControl *ctl, char *c - } - } else if (tk == VSH_TK_DATA) { - if (!(opt = vshCmddefGetData(cmd, data_ct++))) { -- vshError(ctl, FALSE, _("unexpected data '%s'"), tkdata); -+ vshError(ctl, _("unexpected data '%s'"), tkdata); - goto syntaxError; - } - } -@@ -8143,7 +8129,7 @@ vshConnectionUsability(vshControl *ctl, - */ - if (!conn) { - if (showerror) -- vshError(ctl, FALSE, "%s", _("no valid connection")); -+ vshError(ctl, "%s", _("no valid connection")); - return FALSE; - } - return TRUE; -@@ -8181,7 +8167,7 @@ vshPrintExtra(vshControl *ctl, const cha - - - static void --vshError(vshControl *ctl, int doexit, const char *format, ...) -+vshError(vshControl *ctl, const char *format, ...) - { - va_list ap; - -@@ -8189,22 +8175,13 @@ vshError(vshControl *ctl, int doexit, co - vshOutputLogFile(ctl, VSH_ERR_ERROR, format, ap); - va_end(ap); - -- if (doexit) -- fprintf(stderr, _("%s: error: "), progname); -- else -- fputs(_("error: "), stderr); -+ fputs(_("error: "), stderr); - - va_start(ap, format); - vfprintf(stderr, format, ap); - va_end(ap); - - fputc('\n', stderr); -- -- if (doexit) { -- if (ctl) -- vshDeinit(ctl); -- exit(EXIT_FAILURE); -- } - } - - static void * -@@ -8214,9 +8191,9 @@ _vshMalloc(vshControl *ctl, size_t size, - - if ((x = malloc(size))) - return x; -- vshError(ctl, TRUE, _("%s: %d: failed to allocate %d bytes"), -+ vshError(ctl, _("%s: %d: failed to allocate %d bytes"), - filename, line, (int) size); -- return NULL; -+ exit(EXIT_FAILURE); - } - - static void * -@@ -8226,9 +8203,9 @@ _vshCalloc(vshControl *ctl, size_t nmemb - - if ((x = calloc(nmemb, size))) - return x; -- vshError(ctl, TRUE, _("%s: %d: failed to allocate %d bytes"), -+ vshError(ctl, _("%s: %d: failed to allocate %d bytes"), - filename, line, (int) (size*nmemb)); -- return NULL; -+ exit(EXIT_FAILURE); - } - - static void * -@@ -8239,9 +8216,9 @@ _vshRealloc(vshControl *ctl, void *ptr, - if ((x = realloc(ptr, size))) - return x; - free(ptr); -- vshError(ctl, TRUE, _("%s: %d: failed to allocate %d bytes"), -+ vshError(ctl, _("%s: %d: failed to allocate %d bytes"), - filename, line, (int) size); -- return NULL; -+ exit(EXIT_FAILURE); - } - - static char * -@@ -8253,9 +8230,9 @@ _vshStrdup(vshControl *ctl, const char * - return(NULL); - if ((x = strdup(s))) - return x; -- vshError(ctl, TRUE, _("%s: %d: failed to allocate %lu bytes"), -+ vshError(ctl, _("%s: %d: failed to allocate %lu bytes"), - filename, line, (unsigned long)strlen(s)); -- return NULL; -+ exit(EXIT_FAILURE); - } - - /* -@@ -8283,7 +8260,7 @@ vshInit(vshControl *ctl) - */ - if (!ctl->conn) { - virshReportError(ctl); -- vshError(ctl, FALSE, "%s", _("failed to connect to the hypervisor")); -+ vshError(ctl, "%s", _("failed to connect to the hypervisor")); - return FALSE; - } - -@@ -8314,20 +8291,22 @@ vshOpenLogFile(vshControl *ctl) - case ENOENT: - break; - default: -- vshError(ctl, TRUE, "%s", -+ vshError(ctl, "%s", - _("failed to get the log file information")); -- break; -+ exit(EXIT_FAILURE); - } - } else { - if (!S_ISREG(st.st_mode)) { -- vshError(ctl, TRUE, "%s", _("the log path is not a file")); -+ vshError(ctl, "%s", _("the log path is not a file")); -+ exit(EXIT_FAILURE); - } - } - - /* log file open */ - if ((ctl->log_fd = open(ctl->logfile, LOGFILE_FLAGS, FILE_MODE)) < 0) { -- vshError(ctl, TRUE, "%s", -+ vshError(ctl, "%s", - _("failed to open the log file. check the log file path")); -+ exit(EXIT_FAILURE); - } - } - -@@ -8395,7 +8374,7 @@ vshOutputLogFile(vshControl *ctl, int lo - /* write log */ - if (safewrite(ctl->log_fd, msg_buf, strlen(msg_buf)) < 0) { - vshCloseLogFile(ctl); -- vshError(ctl, FALSE, "%s", _("failed to write the log file")); -+ vshError(ctl, "%s", _("failed to write the log file")); - } - } - -@@ -8410,7 +8389,7 @@ vshCloseLogFile(vshControl *ctl) - /* log file close */ - if (ctl->log_fd >= 0) { - if (close(ctl->log_fd) < 0) -- vshError(ctl, FALSE, _("%s: failed to write log file: %s"), -+ vshError(ctl, _("%s: failed to write log file: %s"), - ctl->logfile ? ctl->logfile : "?", strerror (errno)); - ctl->log_fd = -1; - } -@@ -8588,9 +8567,7 @@ vshDeinit(vshControl *ctl) - free(ctl->name); - if (ctl->conn) { - if (virConnectClose(ctl->conn) != 0) { -- ctl->conn = NULL; /* prevent recursive call from vshError() */ -- vshError(ctl, TRUE, "%s", -- _("failed to disconnect from the hypervisor")); -+ vshError(ctl, "%s", _("failed to disconnect from the hypervisor")); - } - } - virResetLastError(); -@@ -8715,16 +8692,16 @@ vshParseArgv(vshControl *ctl, int argc, - ctl->logfile = vshStrdup(ctl, optarg); - break; - default: -- vshError(ctl, TRUE, -- _("unsupported option '-%c'. See --help."), arg); -- break; -+ vshError(ctl, _("unsupported option '-%c'. See --help."), arg); -+ exit(EXIT_FAILURE); - } - } - - if (help) { -- if (end < argc) -- vshError(ctl, TRUE, -- _("extra argument '%s'. See --help."), argv[end]); -+ if (end < argc) { -+ vshError(ctl, _("extra argument '%s'. See --help."), argv[end]); -+ exit(EXIT_FAILURE); -+ } - - /* list all command */ - vshUsage(); diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index 73c0874..ab37e00 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.7.1/src/xend_internal.c +Index: libvirt-0.7.1/src/xen/xend_internal.c =================================================================== ---- libvirt-0.7.1.orig/src/xend_internal.c -+++ libvirt-0.7.1/src/xend_internal.c +--- libvirt-0.7.1.orig/src/xen/xend_internal.c ++++ libvirt-0.7.1/src/xen/xend_internal.c @@ -5306,7 +5306,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co } else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) { virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst); diff --git a/xen-refcnt.patch b/xen-refcnt.patch deleted file mode 100644 index c54934c..0000000 --- a/xen-refcnt.patch +++ /dev/null @@ -1,41 +0,0 @@ -Index: libvirt-0.7.1/src/xen_inotify.c -=================================================================== ---- libvirt-0.7.1.orig/src/xen_inotify.c -+++ libvirt-0.7.1/src/xen_inotify.c -@@ -463,7 +463,6 @@ xenInotifyOpen(virConnectPtr conn ATTRIB - DEBUG0("Failed to add inotify handle, disabling events"); - } - -- virConnectRef(conn); - return 0; - } - -@@ -486,7 +485,6 @@ xenInotifyClose(virConnectPtr conn) - if (priv->inotifyWatch != -1) - virEventRemoveHandle(priv->inotifyWatch); - close(priv->inotifyFD); -- virUnrefConnect(conn); - - return 0; - } -Index: libvirt-0.7.1/src/xs_internal.c -=================================================================== ---- libvirt-0.7.1.orig/src/xs_internal.c -+++ libvirt-0.7.1/src/xs_internal.c -@@ -1139,8 +1139,6 @@ int xenStoreAddWatch(virConnectPtr conn, - list->watches[n] = watch; - list->count++; - -- conn->refs++; -- - return xs_watch(priv->xshandle, watch->path, watch->token); - } - -@@ -1190,7 +1188,6 @@ int xenStoreRemoveWatch(virConnectPtr co - ; /* Failure to reduce memory allocation isn't fatal */ - } - list->count--; -- virUnrefConnect(conn); - return 0; - } - }