Re: [libvirt] [PATCH 1/3] Enhance documentation of virDomainMigrateFlags

2016-11-29 Thread Peter Krempa
On Fri, Nov 25, 2016 at 11:51:41 +0100, Jiri Denemark wrote:
> The enhanced documentation of VIR_MIGRATE_RDMA_PIN_ALL fixes
> https://bugzilla.redhat.com/show_bug.cgi?id=1373783
> 
> Signed-off-by: Jiri Denemark 
> ---
>  include/libvirt/libvirt-domain.h | 153 
> +--
>  1 file changed, 132 insertions(+), 21 deletions(-)

ACK, definitely an improvement. Safe for freeze.


signature.asc
Description: PGP signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

[libvirt] [PATCH 1/3] Enhance documentation of virDomainMigrateFlags

2016-11-25 Thread Jiri Denemark
The enhanced documentation of VIR_MIGRATE_RDMA_PIN_ALL fixes
https://bugzilla.redhat.com/show_bug.cgi?id=1373783

Signed-off-by: Jiri Denemark 
---
 include/libvirt/libvirt-domain.h | 153 +--
 1 file changed, 132 insertions(+), 21 deletions(-)

diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index 5f5066074..a8435ab16 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -683,27 +683,138 @@ typedef enum {
 
 /* Domain migration flags. */
 typedef enum {
-VIR_MIGRATE_LIVE  = (1 << 0), /* live migration */
-VIR_MIGRATE_PEER2PEER = (1 << 1), /* direct source -> dest host 
control channel */
-/* Note the less-common spelling that we're stuck with:
-   VIR_MIGRATE_TUNNELLED should be VIR_MIGRATE_TUNNELED */
-VIR_MIGRATE_TUNNELLED = (1 << 2), /* tunnel migration data over 
libvirtd connection */
-VIR_MIGRATE_PERSIST_DEST  = (1 << 3), /* persist the VM on the 
destination */
-VIR_MIGRATE_UNDEFINE_SOURCE   = (1 << 4), /* undefine the VM on the source 
*/
-VIR_MIGRATE_PAUSED= (1 << 5), /* pause on remote side */
-VIR_MIGRATE_NON_SHARED_DISK   = (1 << 6), /* migration with non-shared 
storage with full disk copy */
-VIR_MIGRATE_NON_SHARED_INC= (1 << 7), /* migration with non-shared 
storage with incremental copy */
-  /* (same base image shared 
between source and destination) */
-VIR_MIGRATE_CHANGE_PROTECTION = (1 << 8), /* protect for changing domain 
configuration through the
-   * whole migration process; this 
will be used automatically
-   * when supported */
-VIR_MIGRATE_UNSAFE= (1 << 9), /* force migration even if it is 
considered unsafe */
-VIR_MIGRATE_OFFLINE   = (1 << 10), /* offline migrate */
-VIR_MIGRATE_COMPRESSED= (1 << 11), /* compress data during 
migration */
-VIR_MIGRATE_ABORT_ON_ERROR= (1 << 12), /* abort migration on I/O 
errors happened during migration */
-VIR_MIGRATE_AUTO_CONVERGE = (1 << 13), /* force convergence */
-VIR_MIGRATE_RDMA_PIN_ALL  = (1 << 14), /* RDMA memory pinning */
-VIR_MIGRATE_POSTCOPY  = (1 << 15), /* enable (but do not start) 
post-copy migration */
+/* Do not pause the domain during migration. The domain's memory will
+ * be transferred to the destination host while the domain is running.
+ * The migration may never converge if the domain is changing its memory
+ * faster then it can be transferred. The domain can be manually paused
+ * anytime during migration using virDomainSuspend.
+ */
+VIR_MIGRATE_LIVE  = (1 << 0),
+
+/* Tell the source libvirtd to connect directly to the destination host.
+ * Without this flag the client (e.g., virsh) connects to both hosts and
+ * controls the migration process. In peer-to-peer mode, the source
+ * libvirtd controls the migration by calling the destination daemon
+ * directly.
+ */
+VIR_MIGRATE_PEER2PEER = (1 << 1),
+
+/* Tunnel migration data over libvirtd connection. Without this flag the
+ * source hypervisor sends migration data directly to the destination
+ * hypervisor. This flag can only be used when VIR_MIGRATE_PEER2PEER is
+ * set as well.
+ *
+ * Note the less-common spelling that we're stuck with:
+ * VIR_MIGRATE_TUNNELLED should be VIR_MIGRATE_TUNNELED.
+ */
+VIR_MIGRATE_TUNNELLED = (1 << 2),
+
+/* Define the domain as persistent on the destination host after successful
+ * migration. If the domain was persistent on the source host and
+ * VIR_MIGRATE_UNDEFINE_SOURCE is not used, it will end up persistent on
+ * both hosts.
+ */
+VIR_MIGRATE_PERSIST_DEST  = (1 << 3),
+
+/* Undefine the domain on the source host once migration successfully
+ * finishes.
+ */
+VIR_MIGRATE_UNDEFINE_SOURCE   = (1 << 4),
+
+/* Leave the domain suspended on the destination host. virDomainResume (on
+ * the virDomainPtr returned by the migration API) has to be called
+ * explicitly to resume domain's virtual CPUs.
+ */
+VIR_MIGRATE_PAUSED= (1 << 5),
+
+/* Migrate full disk images in addition to domain's memory. By default
+ * only non-shared non-readonly disk images are transferred. The
+ * VIR_MIGRATE_PARAM_MIGRATE_DISKS parameter can be used to specify which
+ * disks should be migrated.
+ *
+ * This flag and VIR_MIGRATE_NON_SHARED_INC are mutually exclusive.
+ */
+VIR_MIGRATE_NON_SHARED_DISK   = (1 << 6),
+
+/* Migrate disk images in addition to domain's memory. This is similar to
+ * VIR_MIGRATE_NON_SHARED_DISK, but only the top level of each disk's
+ * backing chain is copied. That