Re: [Qemu-devel] [PATCH 2/3] COLO: Define COLOMode without QAPI

2017-07-31 Thread Markus Armbruster
Eric Blake  writes:

> On 07/28/2017 12:17 PM, Dr. David Alan Gilbert wrote:
>> * Markus Armbruster (arm...@redhat.com) wrote:
>>> COLOMode is defined in the QAPI schema, but not used there.  Of the
>>> stuff QAPI generates for it only the typedef is actually used.  Use of
>>> QAPI is pointless and only complicates things, so don't.
>> 
>> Hmm, in one of the old COLO worlds I have, there's code to emit an event
>> on exiting from COLO and that event includes the mode it was in.
>> 
>> If the intent is to bring that or similar back then it would be worth
>> keeping.
>
> We can always revert the removal once there is a user.

I assume YAGNI until proven otherwise.

Posting patches putting COLOMode to use could serve as proof.



Re: [Qemu-devel] [PATCH 2/3] COLO: Define COLOMode without QAPI

2017-07-29 Thread Hailiang Zhang

On 2017/7/29 1:17, Dr. David Alan Gilbert wrote:

* Markus Armbruster (arm...@redhat.com) wrote:

COLOMode is defined in the QAPI schema, but not used there.  Of the
stuff QAPI generates for it only the typedef is actually used.  Use of
QAPI is pointless and only complicates things, so don't.

Hmm, in one of the old COLO worlds I have, there's code to emit an event
on exiting from COLO and that event includes the mode it was in.


Yes, we need it in the later series.


If the intent is to bring that or similar back then it would be worth
keeping.


Agreed.  ;)


Dave


Cc: zhanghailiang 
Signed-off-by: Markus Armbruster 
---
  include/migration/colo.h |  6 ++
  qapi-schema.json | 16 
  2 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/include/migration/colo.h b/include/migration/colo.h
index ff9874e..5d7c500 100644
--- a/include/migration/colo.h
+++ b/include/migration/colo.h
@@ -26,6 +26,12 @@ void migration_incoming_exit_colo(void);
  void *colo_process_incoming_thread(void *opaque);
  bool migration_incoming_in_colo_state(void);
  
+typedef enum {

+COLO_MODE_UNKNOWN,
+COLO_MODE_PRIMARY,
+COLO_MODE_SECONDARY,
+} COLOMode;
+
  COLOMode get_colo_mode(void);
  
  /* failover */

diff --git a/qapi-schema.json b/qapi-schema.json
index 9b6f6cb..3f0eb05 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -1304,22 +1304,6 @@
  'vmstate-loaded' ] }
  
  ##

-# @COLOMode:
-#
-# The colo mode
-#
-# @unknown: unknown mode
-#
-# @primary: master side
-#
-# @secondary: slave side
-#
-# Since: 2.8
-##
-{ 'enum': 'COLOMode',
-  'data': [ 'unknown', 'primary', 'secondary'] }
-
-##
  # @FailoverStatus:
  #
  # An enumeration of COLO failover status
--
2.7.5



--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK

.







Re: [Qemu-devel] [PATCH 2/3] COLO: Define COLOMode without QAPI

2017-07-28 Thread Eric Blake
On 07/28/2017 12:17 PM, Dr. David Alan Gilbert wrote:
> * Markus Armbruster (arm...@redhat.com) wrote:
>> COLOMode is defined in the QAPI schema, but not used there.  Of the
>> stuff QAPI generates for it only the typedef is actually used.  Use of
>> QAPI is pointless and only complicates things, so don't.
> 
> Hmm, in one of the old COLO worlds I have, there's code to emit an event
> on exiting from COLO and that event includes the mode it was in.
> 
> If the intent is to bring that or similar back then it would be worth
> keeping.

We can always revert the removal once there is a user.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.   +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



signature.asc
Description: OpenPGP digital signature


Re: [Qemu-devel] [PATCH 2/3] COLO: Define COLOMode without QAPI

2017-07-28 Thread Dr. David Alan Gilbert
* Markus Armbruster (arm...@redhat.com) wrote:
> COLOMode is defined in the QAPI schema, but not used there.  Of the
> stuff QAPI generates for it only the typedef is actually used.  Use of
> QAPI is pointless and only complicates things, so don't.

Hmm, in one of the old COLO worlds I have, there's code to emit an event
on exiting from COLO and that event includes the mode it was in.

If the intent is to bring that or similar back then it would be worth
keeping.

Dave

> Cc: zhanghailiang 
> Signed-off-by: Markus Armbruster 
> ---
>  include/migration/colo.h |  6 ++
>  qapi-schema.json | 16 
>  2 files changed, 6 insertions(+), 16 deletions(-)
> 
> diff --git a/include/migration/colo.h b/include/migration/colo.h
> index ff9874e..5d7c500 100644
> --- a/include/migration/colo.h
> +++ b/include/migration/colo.h
> @@ -26,6 +26,12 @@ void migration_incoming_exit_colo(void);
>  void *colo_process_incoming_thread(void *opaque);
>  bool migration_incoming_in_colo_state(void);
>  
> +typedef enum {
> +COLO_MODE_UNKNOWN,
> +COLO_MODE_PRIMARY,
> +COLO_MODE_SECONDARY,
> +} COLOMode;
> +
>  COLOMode get_colo_mode(void);
>  
>  /* failover */
> diff --git a/qapi-schema.json b/qapi-schema.json
> index 9b6f6cb..3f0eb05 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -1304,22 +1304,6 @@
>  'vmstate-loaded' ] }
>  
>  ##
> -# @COLOMode:
> -#
> -# The colo mode
> -#
> -# @unknown: unknown mode
> -#
> -# @primary: master side
> -#
> -# @secondary: slave side
> -#
> -# Since: 2.8
> -##
> -{ 'enum': 'COLOMode',
> -  'data': [ 'unknown', 'primary', 'secondary'] }
> -
> -##
>  # @FailoverStatus:
>  #
>  # An enumeration of COLO failover status
> -- 
> 2.7.5
> 
> 
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK



[Qemu-devel] [PATCH 2/3] COLO: Define COLOMode without QAPI

2017-07-28 Thread Markus Armbruster
COLOMode is defined in the QAPI schema, but not used there.  Of the
stuff QAPI generates for it only the typedef is actually used.  Use of
QAPI is pointless and only complicates things, so don't.

Cc: zhanghailiang 
Signed-off-by: Markus Armbruster 
---
 include/migration/colo.h |  6 ++
 qapi-schema.json | 16 
 2 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/include/migration/colo.h b/include/migration/colo.h
index ff9874e..5d7c500 100644
--- a/include/migration/colo.h
+++ b/include/migration/colo.h
@@ -26,6 +26,12 @@ void migration_incoming_exit_colo(void);
 void *colo_process_incoming_thread(void *opaque);
 bool migration_incoming_in_colo_state(void);
 
+typedef enum {
+COLO_MODE_UNKNOWN,
+COLO_MODE_PRIMARY,
+COLO_MODE_SECONDARY,
+} COLOMode;
+
 COLOMode get_colo_mode(void);
 
 /* failover */
diff --git a/qapi-schema.json b/qapi-schema.json
index 9b6f6cb..3f0eb05 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -1304,22 +1304,6 @@
 'vmstate-loaded' ] }
 
 ##
-# @COLOMode:
-#
-# The colo mode
-#
-# @unknown: unknown mode
-#
-# @primary: master side
-#
-# @secondary: slave side
-#
-# Since: 2.8
-##
-{ 'enum': 'COLOMode',
-  'data': [ 'unknown', 'primary', 'secondary'] }
-
-##
 # @FailoverStatus:
 #
 # An enumeration of COLO failover status
-- 
2.7.5