[libvirt] [PATCH] virsh: Add support for setting bandwidth in migrate
by Jim Fehlig
Commit f15789ec added support for setting postcopy migration bandwidth to
the migrate subcommand. This change does the same for standard migration.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
I used the term 'standard migration' in the commit message but 'pre-copy'
in the documentation. If one is preferred or more correct I can change
the other.
tools/virsh-domain.c | 13 +++++++++++++
tools/virsh.pod | 4 +++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index ccda71d7e0..8984c2f3b4 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -10587,6 +10587,10 @@ static const vshCmdOptDef opts_migrate[] = {
.type = VSH_OT_INT,
.help = N_("number of connections for parallel migration")
},
+ {.name = "precopy-bandwidth",
+ .type = VSH_OT_INT,
+ .help = N_("pre-copy migration bandwidth limit in MiB/s")
+ },
{.name = NULL}
};
@@ -10801,6 +10805,15 @@ doMigrate(void *opaque)
goto save_error;
}
+ if ((rv = vshCommandOptULongLong(ctl, cmd, "precopy-bandwidth", &ullOpt)) < 0) {
+ goto out;
+ } else if (rv > 0) {
+ if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams,
+ VIR_MIGRATE_PARAM_BANDWIDTH,
+ ullOpt) < 0)
+ goto save_error;
+ }
+
if (vshCommandOptBool(cmd, "live"))
flags |= VIR_MIGRATE_LIVE;
if (vshCommandOptBool(cmd, "p2p"))
diff --git a/tools/virsh.pod b/tools/virsh.pod
index af739bec24..aa0eb16f1a 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -1927,6 +1927,7 @@ I<domain> I<desturi> [I<migrateuri>] [I<graphicsuri>] [I<listen-address>] [I<dna
[I<auto-converge-increment>] [I<--persistent-xml> B<file>] [I<--tls>]
[I<--postcopy-bandwidth> B<bandwidth>]
[I<--parallel> [I<--parallel-connections> B<connections>]]
+[I<--precopy-bandwidth> B<bandwidth>]
Migrate domain to another host. Add I<--live> for live migration; <--p2p>
for peer-2-peer migration; I<--direct> for direct migration; or I<--tunnelled>
@@ -1958,7 +1959,8 @@ B<migrate-postcopy> command sent from another virsh instance or use
I<--postcopy-after-precopy> along with I<--postcopy> to let libvirt
automatically switch to post-copy after the first pass of pre-copy is finished.
The maximum bandwidth consumed during the post-copy phase may be limited using
-I<--postcopy-bandwidth>.
+I<--postcopy-bandwidth>. The maximum bandwidth consumed during the pre-copy phase
+may be limited using I<--precopy-bandwidth>.
I<--auto-converge> forces convergence during live migration. The initial
guest CPU throttling rate can be set with I<auto-converge-initial>. If the
--
2.22.0
5 years, 3 months
[libvirt] [PATCH 0/9] tests: Couple of small improvements
by Michal Privoznik
*** BLURB HERE ***
Michal Prívozník (9):
tests: Always put a '\n' after each debug print
tests: Always put '\n' at the end of VIR_TEST_VERBOSE
virhashtest: Drop useless new line
virhostdevtest: Check for integer retval in more verbose way
virhostdevtest: Drop most of 'cleanup' and 'out' labels
virhostdevtest: Drop useless VIR_TEST_DEBUG
virhostdevtest: s/VIR_DEBUG/VIR_TEST_DEBUG/
virhostdevtest: Reset libvirt error on expected failure
virhostdevtest: s/virReportError/fprintf/
tests/bhyveargv2xmltest.c | 6 +-
tests/bhyvexml2argvtest.c | 4 +-
tests/bhyvexml2xmltest.c | 2 +-
tests/cputest.c | 16 +--
tests/qemublocktest.c | 10 +-
tests/qemuhotplugtest.c | 10 +-
tests/qemumonitorjsontest.c | 8 +-
tests/qemuxml2argvtest.c | 2 +-
tests/qemuxml2xmltest.c | 4 +-
tests/securityselinuxlabeltest.c | 4 +-
tests/storagepoolxml2argvtest.c | 8 +-
tests/testutils.c | 2 +-
tests/testutils.h | 8 +-
tests/testutilsqemu.c | 11 +-
tests/testutilsqemuschema.c | 10 +-
tests/utiltest.c | 32 ++---
tests/virbuftest.c | 8 +-
tests/virerrortest.c | 12 +-
tests/virhashtest.c | 21 ++-
tests/virhostcputest.c | 2 +-
tests/virhostdevtest.c | 217 +++++++++++--------------------
tests/virjsontest.c | 80 ++++++------
tests/virlogtest.c | 14 +-
tests/virnetdaemontest.c | 4 +-
tests/virpcitest.c | 2 +-
tests/virresctrltest.c | 2 +-
26 files changed, 221 insertions(+), 278 deletions(-)
--
2.21.0
5 years, 3 months
[libvirt] [jenkins-ci PATCH] Use shallow git clones for projects
by Erik Skultety
First of all, we don't need the full history for builds and we can save
some time during the prepare phase. The disk footprint is about 5x
smaller, but the most important thing is the repo clone duration
difference e.g. in libvirt's case is quite significant:
full history:
real 3m45.236s
user 1m53.074s
sys 0m15.577s
depth 1:
real 0m14.868s
user 0m2.215s
sys 0m0.906s
---
guests/playbooks/build/jobs/prepare.yml | 1 +
jenkins/jobs/autotools.yaml | 1 +
jenkins/jobs/generic.yaml | 1 +
jenkins/jobs/go.yaml | 1 +
jenkins/jobs/perl-modulebuild.yaml | 1 +
jenkins/jobs/python-distutils.yaml | 1 +
6 files changed, 6 insertions(+)
diff --git a/guests/playbooks/build/jobs/prepare.yml b/guests/playbooks/build/jobs/prepare.yml
index 576afbc..35ca9e4 100644
--- a/guests/playbooks/build/jobs/prepare.yml
+++ b/guests/playbooks/build/jobs/prepare.yml
@@ -5,6 +5,7 @@
version: '{{ git_branch }}'
dest: '{{ name }}'
force: yes
+ depth: 1
when:
- inventory_hostname in machines
diff --git a/jenkins/jobs/autotools.yaml b/jenkins/jobs/autotools.yaml
index f04ec17..1a85781 100644
--- a/jenkins/jobs/autotools.yaml
+++ b/jenkins/jobs/autotools.yaml
@@ -27,6 +27,7 @@
after: true
skip-tag: true
wipe-workspace: false
+ shallow-clone: true
triggers:
- reverse:
jobs: '{obj:parent_jobs}'
diff --git a/jenkins/jobs/generic.yaml b/jenkins/jobs/generic.yaml
index ca69513..f58945e 100644
--- a/jenkins/jobs/generic.yaml
+++ b/jenkins/jobs/generic.yaml
@@ -27,6 +27,7 @@
after: true
skip-tag: true
wipe-workspace: false
+ shallow-clone: true
triggers:
- reverse:
jobs: '{obj:parent_jobs}'
diff --git a/jenkins/jobs/go.yaml b/jenkins/jobs/go.yaml
index 1bdcb5f..dd3c5d4 100644
--- a/jenkins/jobs/go.yaml
+++ b/jenkins/jobs/go.yaml
@@ -27,6 +27,7 @@
after: true
skip-tag: true
wipe-workspace: false
+ shallow-clone: true
triggers:
- reverse:
jobs: '{obj:parent_jobs}'
diff --git a/jenkins/jobs/perl-modulebuild.yaml b/jenkins/jobs/perl-modulebuild.yaml
index 7173493..0ea271e 100644
--- a/jenkins/jobs/perl-modulebuild.yaml
+++ b/jenkins/jobs/perl-modulebuild.yaml
@@ -27,6 +27,7 @@
after: true
skip-tag: true
wipe-workspace: false
+ shallow-clone: true
triggers:
- reverse:
jobs: '{obj:parent_jobs}'
diff --git a/jenkins/jobs/python-distutils.yaml b/jenkins/jobs/python-distutils.yaml
index f56794c..a3eb076 100644
--- a/jenkins/jobs/python-distutils.yaml
+++ b/jenkins/jobs/python-distutils.yaml
@@ -27,6 +27,7 @@
after: true
skip-tag: true
wipe-workspace: false
+ shallow-clone: true
triggers:
- reverse:
jobs: '{obj:parent_jobs}'
--
2.20.1
5 years, 3 months
[libvirt] [PATCH v3 00/48] Split the libvirtd daemon into per-driver daemons
by Daniel P. Berrangé
This is what all the driver refactoring I've done has been about
enabling.
We gain new daemons for each driver, for the primary virt drivers:
virtlibxld
virtlxcd
virtqemud
virtvboxd
virtvzd
And again for the secondary drivers
virtinterfaced
virtnetworkd
virtnodedevd
virtnwfilterd
virtsecretd
virtstoraged
Finally to support IP connectivity, and also the legacy lbivirtd UNIX
domain socket (for the old libvirt remote driver SSH tunnelling):
virtproxyd
The the sake of facilitating upgrades, the existing libvirtd still
exists and works the same way it always has.
You either run libvirtd, or you run the per-driver daemons, never both.
The remote driver will look to see whether libvirtd is running to figure
out whether to connect to libvirtd or the new per-driver daemons.
When auto-spawning daemons for nonroot users, we default to spawning the
per-driver daemons.
This can be controlled with a UR parameter "?mode=direct|legacy|auto",
where 'direct' means per-driver and 'legacy' means libvirtd (or indirect
via virtproxyd if that's running).
Changed in v3:
- Add identity forwarding between daemons for polkit auth
- Make virtxend sockets conditional on Xen kernel
- Other misc review fixes
Changed in v2:
- Added systemd unit files for service & sockets, ensuring
conflicts with libvirtd
- Fixed proxy to actually handle probing of URIs (still not
quite perfect)
- Renamed virtlibxld to virtxend as "xen" is the user facing
name of the URI
- Lazy loading of secondary drivers, so connecting to virtqemud
does't auto-spawn all secondary driver daemons, until a
relevant API is actually invoked
- Actually generated config files / augeas files per daemon
- Abort daemon startup if driver fails to load
- Many other fixes
A few nice to have things, but not merge blocking
- MAYBE make it possible to disable build of libvirtd, or of the per-driver
daemons so downstream vendors can decide which to ship. Alternatively
they can just not include the binary in the package file list ?
- Tuning of the daemon defaults for worker threads to better suit
the fact that we have per-driver daemons
- More work on RPM packaging to allow install of per-driver daemosn
without pulling in libvirtd too
Daniel P. Berrangé (48):
build: make augeas-gentest.pl write to stdout
build: collapse rules adding augeas tests to CLEANFILES
build: create all augeas test files in same dir as their source
build: use a common rule for checking augeas test data files
build: centralize rule for handling generated config files
remote: stop trying to print help as giant blocks of text
remote: conditionalize socket names in libvirtd daemon
remote: conditionalize daemon name in libvirtd daemon
remote: conditionalize driver loading in libvirtd daemon
remote: conditionalize IP socket usage in libvirtd daemon
build: use @CONFIG@ instead of ::CONFIG:: in augeas tests
remote: conditionalize IP socket config in libvirtd.conf
remote: conditionalize IP socket config in augeas definitions
remote: refactor & rename variables for building libvirtd
build: don't hardcode /etc in the config related files
remote: reduce duplication in systemd unit file make rules into one
remote: conditionalize systemd socket unit files
remote: refactor how list of systemd unit files is built
remote: in per-driver daemons ensure that state initialize succeeds
remote: introduce virtproxyd daemon to handle IP connectivity
secret: introduce virtsecretd daemon
network: introduce virtnetworkd daemon
interface: introduce virtinterfaced daemon
storage: introduce virtstoraged daemon
nodedev: introduce virtnodedevd daemon
nwfilter: introduce virtnwfilterd daemon
libxl: introduce virtxend daemon
qemu: introduce virtqemud daemon
lxc: introduce virtlxcd daemon
vbox: introduce virtvboxd daemon
bhyve: introduce virtbhyved daemon
vz: introduce virtvzd daemon
admin: add ability to connect to the per-driver daemon sockets
remote: get rid of bogus ATTRIBUTE_UNUSED annotation client param
remote: change generated methods to not directly access connection
remote: fix lock ordering mistake in event registration
remote: change hand written methods to not directly access connection
remote: open secondary drivers via remote driver if needed
remote: handle autoprobing of driver within virtproxyd
remote: use enum helpers for parsing remote driver transport
remote: refactor the code for choosing the UNIX socket path
remote: enable connecting to the per-driver daemons
api: introduce virConnectSetIdentity for pasing uid, gid, selinux info
util: change identity class attribute names
util: make generic identity accessors private
util: storage identity attrs as virTypedParameter internally
util: allow identity to be imported/exported as typed parameters
remote: pass identity across to newly opened daemons
.gitignore | 62 +-
build-aux/augeas-gentest.pl | 22 +-
docs/remote.html.in | 18 +
include/libvirt/libvirt-host.h | 75 +
libvirt.spec.in | 91 ++
m4/virt-driver-remote.m4 | 15 +
src/Makefile.am | 30 +-
src/access/viraccessdriverpolkit.c | 12 +-
src/admin/admin_server.c | 10 +-
src/admin/admin_server_dispatch.c | 9 +
src/bhyve/Makefile.inc.am | 55 +-
src/bhyve/bhyve_driver.c | 10 +-
src/bhyve/test_libvirtd_bhyve.aug.in | 2 +-
src/driver-hypervisor.h | 7 +
src/driver-state.h | 8 +-
src/driver.h | 2 +
src/interface/Makefile.inc.am | 62 +
src/interface/interface_backend_netcf.c | 8 +-
src/interface/interface_backend_udev.c | 4 +-
src/interface/virtinterfaced.service.in | 24 +
src/libvirt-admin.c | 32 +-
src/libvirt-host.c | 51 +
src/libvirt.c | 42 +-
src/libvirt_internal.h | 1 +
src/libvirt_private.syms | 29 +-
src/libvirt_public.syms | 1 +
src/libvirt_remote.syms | 1 +
src/libxl/Makefile.inc.am | 80 +-
src/libxl/libxl_driver.c | 10 +-
src/libxl/test_libvirtd_libxl.aug.in | 2 +-
src/libxl/virtxend.service.in | 26 +
src/locking/Makefile.inc.am | 77 +-
src/locking/test_libvirt_lockd.aug.in | 2 +-
src/locking/test_libvirt_sanlock.aug.in | 2 +-
src/locking/test_virtlockd.aug.in | 2 +-
src/locking/virtlockd.service.in | 2 +-
src/logging/Makefile.inc.am | 23 +-
src/logging/test_virtlogd.aug.in | 2 +-
src/logging/virtlogd.service.in | 2 +-
src/lxc/Makefile.inc.am | 77 +-
src/lxc/lxc_driver.c | 12 +-
src/lxc/test_libvirtd_lxc.aug.in | 2 +-
src/lxc/virtlxcd.service.in | 40 +
src/network/Makefile.inc.am | 61 +
src/network/bridge_driver.c | 4 +-
src/network/virtnetworkd.service.in | 25 +
src/node_device/Makefile.inc.am | 62 +
src/node_device/node_device_hal.c | 12 +-
src/node_device/node_device_udev.c | 8 +-
src/node_device/virtnodedevd.service.in | 24 +
src/nwfilter/Makefile.inc.am | 62 +
src/nwfilter/nwfilter_driver.c | 12 +-
src/nwfilter/virtnwfilterd.service.in | 24 +
src/qemu/Makefile.inc.am | 76 +-
src/qemu/qemu_driver.c | 8 +-
src/qemu/test_libvirtd_qemu.aug.in | 2 +-
src/qemu/virtqemud.service.in | 40 +
src/remote/Makefile.inc.am | 285 ++--
src/remote/libvirtd-admin.socket.in | 15 +-
src/remote/libvirtd-ro.socket.in | 15 +-
src/remote/libvirtd-tcp.socket.in | 13 +-
src/remote/libvirtd-tls.socket.in | 13 +-
src/remote/{libvirtd.aug => libvirtd.aug.in} | 26 +-
.../{libvirtd.conf => libvirtd.conf.in} | 60 +-
src/remote/libvirtd.service.in | 2 +-
src/remote/libvirtd.socket.in | 11 +-
src/remote/remote_daemon.c | 302 ++--
src/remote/remote_daemon.h | 13 +
src/remote/remote_daemon_config.c | 47 +-
src/remote/remote_daemon_config.h | 10 +-
src/remote/remote_daemon_dispatch.c | 1354 ++++++++++-------
src/remote/remote_driver.c | 424 ++++--
src/remote/remote_driver.h | 4 -
src/remote/remote_protocol.x | 18 +-
src/remote/test_libvirtd.aug.in | 24 +-
src/remote/virtproxyd.service.in | 24 +
src/remote_protocol-structs | 8 +
src/rpc/gendispatch.pl | 96 +-
src/rpc/virnetserverclient.c | 24 +-
src/rpc/virnetserverclient.h | 2 +
src/secret/Makefile.inc.am | 62 +
src/secret/secret_driver.c | 8 +-
src/secret/virtsecretd.service.in | 24 +
src/storage/Makefile.inc.am | 61 +
src/storage/storage_driver.c | 8 +-
src/storage/virtstoraged.service.in | 26 +
src/util/viridentity.c | 483 +++---
src/util/viridentity.h | 87 +-
src/vbox/Makefile.inc.am | 62 +
src/vbox/virtvboxd.service.in | 25 +
src/vz/Makefile.inc.am | 62 +
src/vz/virtvzd.service.in | 25 +
src/vz/vz_driver.c | 14 +-
tests/viridentitytest.c | 97 +-
tests/virnetserverclienttest.c | 45 +-
tools/libvirt-guests.service.in | 2 +-
96 files changed, 3642 insertions(+), 1703 deletions(-)
create mode 100644 src/interface/virtinterfaced.service.in
create mode 100644 src/libxl/virtxend.service.in
create mode 100644 src/lxc/virtlxcd.service.in
create mode 100644 src/network/virtnetworkd.service.in
create mode 100644 src/node_device/virtnodedevd.service.in
create mode 100644 src/nwfilter/virtnwfilterd.service.in
create mode 100644 src/qemu/virtqemud.service.in
rename src/remote/{libvirtd.aug => libvirtd.aug.in} (89%)
rename src/remote/{libvirtd.conf => libvirtd.conf.in} (92%)
create mode 100644 src/remote/virtproxyd.service.in
create mode 100644 src/secret/virtsecretd.service.in
create mode 100644 src/storage/virtstoraged.service.in
create mode 100644 src/vbox/virtvboxd.service.in
create mode 100644 src/vz/virtvzd.service.in
--
2.21.0
5 years, 3 months
[libvirt] [PATCH] apparmor: Allow to run pygrup
by Guido Günther
Debian has pygrub in
/usr/lib/xen-*/bin/pygrub
Allow it to be run.
---
I'm open to making this more broad since it seems
/usr/{lib,lib64}/xen/bin/* Ux,
serves a similar purpose.
Cheers,
-- Guido
src/security/apparmor/usr.sbin.libvirtd | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/security/apparmor/usr.sbin.libvirtd b/src/security/apparmor/usr.sbin.libvirtd
index 29f9936ad9..f9a523c213 100644
--- a/src/security/apparmor/usr.sbin.libvirtd
+++ b/src/security/apparmor/usr.sbin.libvirtd
@@ -87,6 +87,7 @@ profile libvirtd /usr/sbin/libvirtd flags=(attach_disconnected) {
/usr/{lib,lib64}/xen-common/bin/xen-toolstack PUx,
/usr/{lib,lib64}/xen/bin/* Ux,
/usr/lib/xen-*/bin/libxl-save-helper PUx,
+ /usr/lib/xen-*/bin/pygrub PUx,
# Required by nwfilter_ebiptables_driver.c:ebiptablesWriteToTempFile() to
# read and run an ebtables script.
--
2.20.1
5 years, 3 months
[libvirt] [PATCH 0/2] qemu: Couple of cleanups after qemuDomainGetGuestInfo
by Michal Privoznik
*** BLURB HERE ***
Michal Prívozník (2):
qemu: Acquire domain job in qemuDomainGetFSInfo and
qemuDomainGetGuestInfo
qemu: Don't duplicate domain def in qemuDomainGetFSInfo
src/qemu/qemu_driver.c | 27 +++++++++------------------
1 file changed, 9 insertions(+), 18 deletions(-)
--
2.21.0
5 years, 3 months
[libvirt] [PATCH 0/4] remote: better handle system activation and upgrades
by Daniel P. Berrangé
This improves the upgrade path to systemd socket activation
- Disable socket activation in RPM %post if we see use of --listen
arg on existing install
- Report fatal error if --listen is used with socket activation,
since it is not honoured
Daniel P. Berrangé (4):
remote: use Wants instead of Requires for libvirtd sockets
remote: move timeout arg into sysconf file
remote: forbid the --listen arg when systemd socket activation
rpm: don't enable socket activation in upgrade if --listen present
libvirt.spec.in | 44 ++++++++++++++++++++++++----------
src/remote/libvirtd.pod | 33 ++++++++++++++++++++++++-
src/remote/libvirtd.service.in | 15 ++++++------
src/remote/libvirtd.sysconf | 12 +++++++---
src/remote/remote_daemon.c | 7 ++++++
5 files changed, 86 insertions(+), 25 deletions(-)
--
2.21.0
5 years, 3 months
[libvirt] [jenkins-ci PATCH 0/7] Switch osinfo-db-tools to Meson
by Fabiano Fidêncio
This patch series switches osinfo-db-tools to using meson instead of
autotools.
In order to do so, meson build jobs had to be added as the first step.
I've tried to make the osinfo-db-tools changes as small as possible so
it'd make the review easier.
Fabiano Fidêncio (7):
jobs: add a template for Meson
guests: Add Meson jobs
mappings: Add meson
osinfo-db-tools: Add meson dependency
Only build osinfo-db-tools on systems with meson >= 0.49.0
Update osinfo-db-tools' archive_format
Switch osinfo-db-tools builds to Meson
guests/host_vars/libvirt-centos-7/main.yml | 1 -
guests/host_vars/libvirt-debian-9/main.yml | 1 -
guests/host_vars/libvirt-ubuntu-16/main.yml | 1 -
guests/host_vars/libvirt-ubuntu-18/main.yml | 1 -
guests/playbooks/build/jobs/defaults.yml | 3 +
.../playbooks/build/jobs/meson-build-job.yml | 14 ++
.../playbooks/build/jobs/meson-check-job.yml | 15 ++
guests/playbooks/build/jobs/meson-rpm-job.yml | 15 ++
.../build/jobs/meson-syntax-check-job.yml | 11 ++
.../projects/osinfo-db-tools+mingw32.yml | 6 +-
.../projects/osinfo-db-tools+mingw64.yml | 6 +-
.../build/projects/osinfo-db-tools.yml | 24 +--
guests/vars/mappings.yml | 3 +
.../vars/projects/osinfo-db-tools+mingw32.yml | 1 +
.../vars/projects/osinfo-db-tools+mingw64.yml | 1 +
guests/vars/projects/osinfo-db-tools.yml | 1 +
jenkins/jobs/defaults.yaml | 3 +
jenkins/jobs/meson.yaml | 174 ++++++++++++++++++
jenkins/projects/osinfo-db-tools+mingw32.yaml | 6 +-
jenkins/projects/osinfo-db-tools+mingw64.yaml | 6 +-
jenkins/projects/osinfo-db-tools.yaml | 30 ++-
21 files changed, 277 insertions(+), 46 deletions(-)
create mode 100644 guests/playbooks/build/jobs/meson-build-job.yml
create mode 100644 guests/playbooks/build/jobs/meson-check-job.yml
create mode 100644 guests/playbooks/build/jobs/meson-rpm-job.yml
create mode 100644 guests/playbooks/build/jobs/meson-syntax-check-job.yml
create mode 100644 jenkins/jobs/meson.yaml
--
2.21.0
5 years, 3 months
[libvirt] [PATCH] tools: console: Relax stream EOF handling
by Roman Bolshakov
An attempt to poweroff a VM from inside triggers the error for existing
session of virsh console and it returns with non-zero exit code:
error: internal error: console stream EOF
The message and status code are misleading because there's no real
error.
Fixes: 29f2b5248c6 ("tools: console: pass stream/fd errors to user")
Signed-off-by: Roman Bolshakov <r.bolshakov(a)yadro.com>
---
tools/virsh-console.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/tools/virsh-console.c b/tools/virsh-console.c
index e16f841e57..408a745b0f 100644
--- a/tools/virsh-console.c
+++ b/tools/virsh-console.c
@@ -172,10 +172,6 @@ virConsoleEventOnStream(virStreamPtr st,
if (got == -2)
goto cleanup; /* blocking */
if (got <= 0) {
- if (got == 0)
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("console stream EOF"));
-
virConsoleShutdown(con);
goto cleanup;
}
--
2.22.0
5 years, 3 months