99cbc7
From 88a1a0d9cde76b79a59e6177a1dcdf036ec4cea0 Mon Sep 17 00:00:00 2001
99cbc7
Message-Id: <88a1a0d9cde76b79a59e6177a1dcdf036ec4cea0@dist-git>
99cbc7
From: Peter Krempa <pkrempa@redhat.com>
99cbc7
Date: Wed, 3 Apr 2019 16:35:44 +0200
99cbc7
Subject: [PATCH] virsh: man: Document quirks of device-detach and friends
99cbc7
99cbc7
Mention that successful return does not equal to device being detached
99cbc7
similarly as we do at the API level.
99cbc7
99cbc7
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
99cbc7
Reviewed-by: Erik Skultety <eskultet@redhat.com>
99cbc7
(cherry picked from commit e95a66349a751694cf173efa1581712b6fb99851)
99cbc7
99cbc7
https: //bugzilla.redhat.com/show_bug.cgi?id=1688961
99cbc7
Message-Id: <7d04a65a6b2dbb7f4ca69d128838437b3e05c5b7.1554302031.git.pkrempa@redhat.com>
99cbc7
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
99cbc7
---
99cbc7
 tools/virsh.pod | 14 ++++++++++++++
99cbc7
 1 file changed, 14 insertions(+)
99cbc7
99cbc7
diff --git a/tools/virsh.pod b/tools/virsh.pod
99cbc7
index 00cbee19b6..5321f6806a 100644
99cbc7
--- a/tools/virsh.pod
99cbc7
+++ b/tools/virsh.pod
99cbc7
@@ -3188,6 +3188,16 @@ or attempting to detach a device that is not present in the domain XML,
99cbc7
 but shares some specific attributes with one that is present,
99cbc7
 may lead to unexpected results.
99cbc7
 
99cbc7
+B<Quirk>: Device unplug is asynchronous in most cases and requires guest
99cbc7
+cooperation. This means that it's up to the discretion of the guest to disallow
99cbc7
+or delay the unplug arbitrarily. As the libvirt API used in this command was
99cbc7
+designed as synchronous it returns success after some timeout even if the device
99cbc7
+was not unplugged yet to allow further interactions with the domain e.g. if the
99cbc7
+guest is unresponsive. Callers which need to make sure that the
99cbc7
+device was unplugged can use libvirt events (see virsh event) to be notified
99cbc7
+when the device is removed. Note that the event may arrive before the command
99cbc7
+returns.
99cbc7
+
99cbc7
 If I<--live> is specified, affect a running domain.
99cbc7
 If I<--config> is specified, affect the next startup of a persistent domain.
99cbc7
 If I<--current> is specified, affect the current domain state.
99cbc7
@@ -3235,6 +3245,8 @@ I<--persistent>.
99cbc7
 If B<--print-xml> is specified, then the XML which would be used to detach the
99cbc7
 disk is printed instead.
99cbc7
 
99cbc7
+Please see documentation for B<detach-device> for known quirks.
99cbc7
+
99cbc7
 =item B<detach-interface> I<domain> I<type> [I<--mac mac>]
99cbc7
 [[[I<--live>] [I<--config>] | [I<--current>]] | [I<--persistent>]]
99cbc7
 
99cbc7
@@ -3257,6 +3269,8 @@ an offline domain, and like I<--live> I<--config> for a running domain.
99cbc7
 Note that older versions of virsh used I<--config> as an alias for
99cbc7
 I<--persistent>.
99cbc7
 
99cbc7
+Please see documentation for B<detach-device> for known quirks.
99cbc7
+
99cbc7
 =item B<update-device> I<domain> I<file> [I<--force>]
99cbc7
 [[[I<--live>] [I<--config>] | [I<--current>]] | [I<--persistent>]]
99cbc7
 
99cbc7
-- 
99cbc7
2.21.0
99cbc7