[PATCH] Device{Attach,Detach}: Document S4 limitations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=808463

Well, libvirt doesn't distinguish between domain poweroff and
hibernation (S4). It's hard to differentiate these two on a real
machine anyway. As a result, any device that is hot(un-)plugged is
lost (appears again) when domain is started again as from our POV
it is a fresh cold boot. Instead of doing anything wise here, we
should just document this as known limitation.

Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
---
 src/libvirt.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/libvirt.c b/src/libvirt.c
index b6c99c5..20297eb 100644
--- a/src/libvirt.c
+++ b/src/libvirt.c
@@ -10319,6 +10319,9 @@ virNodeGetSecurityModel(virConnectPtr conn, virSecurityModelPtr secmodel)
  * in an existing CDROM/Floppy device, however, applications are
  * recommended to use the virDomainUpdateDeviceFlag method instead.
  *
+ * Be aware that a device that is hotplugged may disappear if
+ * domain resumes from the S4 state (also known as hibernation).
+ *
  * Returns 0 in case of success, -1 in case of failure.
  */
 int
@@ -10374,6 +10377,9 @@ virDomainAttachDevice(virDomainPtr domain, const char *xml)
  * in an existing CDROM/Floppy device, however, applications are
  * recommended to use the virDomainUpdateDeviceFlag method instead.
  *
+ * Be aware that a device that is hotplugged may disappear if
+ * domain resumes from the S4 state (also known as hibernation).
+ *
  * Returns 0 in case of success, -1 in case of failure.
  */
 int
@@ -10416,6 +10422,9 @@ virDomainAttachDeviceFlags(virDomainPtr domain,
  * Destroy a virtual device attachment to backend.  This function,
  * having hot-unplug semantics, is only allowed on an active domain.
  *
+ * Be aware that a device that was unplugged may appear again
+ * if domain resumes from the S4 state (also known as hibernation).
+ *
  * Returns 0 in case of success, -1 in case of failure.
  */
 int
@@ -10487,6 +10496,9 @@ virDomainDetachDevice(virDomainPtr domain, const char *xml)
  * a synchronous removal. In other words, this API may wait a bit for the
  * removal to complete in case it was not synchronous.
  *
+ * Be aware that a device that was unplugged may appear again
+ * if domain resumes from the S4 state (also known as hibernation).
+ *
  * Returns 0 in case of success, -1 in case of failure.
  */
 int
-- 
1.9.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]