qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v20 07/10] Introduce new APIs to do replication


From: Changlong Xie
Subject: Re: [Qemu-devel] [PATCH v20 07/10] Introduce new APIs to do replication operation
Date: Mon, 13 Jun 2016 10:07:58 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

On 06/08/2016 09:41 PM, Eric Blake wrote:
On 06/07/2016 07:11 PM, Changlong Xie wrote:
Signed-off-by: Wen Congyang <address@hidden>
Signed-off-by: zhanghailiang <address@hidden>
Signed-off-by: Gonglei <address@hidden>
Signed-off-by: Changlong Xie <address@hidden>

No mention of the API names in the commit message?  Grepping 'git log'
is easier if there is something useful to grep for.

I'll use a brief description, such as below:

This commit introduces six replication interfaces(for block, network etc). Firstly we can use replication_(new/remove) to create/destroy replication instances, then in migration we can use replication_(start/stop/do_checkpoint/get_error)_all to handle all replication operations. More detail please refer to replication.h


---
  Makefile.objs        |   1 +
  qapi/block-core.json |  13 ++++
  replication.c        | 105 ++++++++++++++++++++++++++++++
  replication.h        | 176 +++++++++++++++++++++++++++++++++++++++++++++++++++
  4 files changed, 295 insertions(+)
  create mode 100644 replication.c
  create mode 100644 replication.h


+++ b/qapi/block-core.json
@@ -2032,6 +2032,19 @@
              '*read-pattern': 'QuorumReadPattern' } }

  ##
+# @ReplicationMode
+#
+# An enumeration of replication modes.
+#
+# @primary: Primary mode, the vm's state will be sent to secondary QEMU.
+#
+# @secondary: Secondary mode, receive the vm's state from primary QEMU.
+#
+# Since: 2.7
+##
+{ 'enum' : 'ReplicationMode', 'data' : [ 'primary', 'secondary' ] }
+

This part is fine, from an interface point of view. However, I have not
closely reviewed the rest of the patch or series.  That said, here's
some quick things that caught my eye.

Appreciate.



+++ b/replication.c
@@ -0,0 +1,105 @@
+/*
+ * Replication filter
+ *
+ * Copyright (c) 2016 HUAWEI TECHNOLOGIES CO., LTD.
+ * Copyright (c) 2016 Intel Corporation
+ * Copyright (c) 2016 FUJITSU LIMITED
+ *
+ * Author:
+ *   Changlong Xie <address@hidden>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#include "replication.h"

All new .c files must include "qemu/osdep.h" first.


+++ b/replication.h
@@ -0,0 +1,176 @@
+/*
+ * Replication filter
+ *
+ * Copyright (c) 2016 HUAWEI TECHNOLOGIES CO., LTD.
+ * Copyright (c) 2016 Intel Corporation
+ * Copyright (c) 2016 FUJITSU LIMITED
+ *
+ * Author:
+ *   Changlong Xie <address@hidden>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#ifndef REPLICATION_H
+#define REPLICATION_H
+
+#include "qemu/osdep.h"

And .h files must NOT include osdep.h.

+#include "qapi/error.h"

Do you really need the full error.h, or is typedefs.h enough to get the
forward declaration of Error?

It's for error_propagate() in replication.c, and in summary to your comments on replication.h/replication.c, i'll
1) remove all uncorrelated *.h in replication.h
2) use following header files in replication.c

#include "qemu/osdep.h"
#include "qapi/error.h"
#include "qemu/queue.h"
#include "replication.h"

Thanks








reply via email to

[Prev in Thread] Current Thread [Next in Thread]