All of lore.kernel.org
 help / color / mirror / Atom feed
From: Isaku Yamahata <yamahata@valinux.co.jp>
To: qemu-devel@nongnu.org, kvm@vger.kernel.org
Cc: quintela@redhat.com, pbonzini@redhat.com, owasserm@redhat.com,
	avi@redhat.com, dlaor@redhat.com, mdroth@linux.vnet.ibm.com,
	t.hirofuchi@aist.go.jp, satoshi.itoh@aist.go.jp,
	stefanha@gmail.com, yoshikawa.takuya@oss.ntt.co.jp,
	benoit.hudzia@gmail.com, aarcange@redhat.com, chegu_vinod@hp.com,
	aliguori@us.ibm.com
Subject: [PATCH v3 24/35] postcopy outgoing: add -p option to migrate command
Date: Tue, 30 Oct 2012 17:33:00 +0900	[thread overview]
Message-ID: <c1ca0759a7b926324b7c94afdbb726adbdaee0ee.1351582535.git.yamahata@valinux.co.jp> (raw)
In-Reply-To: <cover.1351582535.git.yamahata@valinux.co.jp>
In-Reply-To: <cover.1351582535.git.yamahata@valinux.co.jp>

Added -p option to migrate command for postcopy mode and
introduce postcopy parameter for migration to indicate that postcopy mode
is enabled.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
---
Chnages v1 -> v2:
- catch up for qapi change
---
 hmp-commands.hx  |   10 ++++++----
 hmp.c            |    4 +++-
 migration.c      |    3 ++-
 migration.h      |    1 +
 qapi-schema.json |    3 ++-
 qmp-commands.hx  |    3 ++-
 savevm.c         |    3 ++-
 7 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/hmp-commands.hx b/hmp-commands.hx
index e0b537d..f2f1264 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -826,23 +826,25 @@ ETEXI
 
     {
         .name       = "migrate",
-        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
-        .params     = "[-d] [-b] [-i] uri",
+        .args_type  = "detach:-d,blk:-b,inc:-i,postcopy:-p,uri:s",
+        .params     = "[-d] [-b] [-i] [-p] uri",
         .help       = "migrate to URI (using -d to not wait for completion)"
 		      "\n\t\t\t -b for migration without shared storage with"
 		      " full copy of disk\n\t\t\t -i for migration without "
 		      "shared storage with incremental copy of disk "
-		      "(base image shared between src and destination)",
+		      "(base image shared between src and destination)"
+		      "\n\t\t\t-p for migration with postcopy mode enabled",
         .mhandler.cmd = hmp_migrate,
     },
 
 
 STEXI
-@item migrate [-d] [-b] [-i] @var{uri}
+@item migrate [-d] [-b] [-i] [-p] @var{uri}
 @findex migrate
 Migrate to @var{uri} (using -d to not wait for completion).
 	-b for migration with full copy of disk
 	-i for migration with incremental copy of disk (base image is shared)
+	-p for migration with postcopy mode enabled
 ETEXI
 
     {
diff --git a/hmp.c b/hmp.c
index 2b97982..2ea3bc4 100644
--- a/hmp.c
+++ b/hmp.c
@@ -1035,10 +1035,12 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
     int detach = qdict_get_try_bool(qdict, "detach", 0);
     int blk = qdict_get_try_bool(qdict, "blk", 0);
     int inc = qdict_get_try_bool(qdict, "inc", 0);
+    int postcopy = qdict_get_try_bool(qdict, "postcopy", 0);
     const char *uri = qdict_get_str(qdict, "uri");
     Error *err = NULL;
 
-    qmp_migrate(uri, !!blk, blk, !!inc, inc, false, false, &err);
+    qmp_migrate(uri, !!blk, blk, !!inc, inc, false, false,
+                !!postcopy, postcopy, &err);
     if (err) {
         monitor_printf(mon, "migrate: %s\n", error_get_pretty(err));
         error_free(err);
diff --git a/migration.c b/migration.c
index 00b0bc2..8bb6073 100644
--- a/migration.c
+++ b/migration.c
@@ -480,7 +480,7 @@ void migrate_del_blocker(Error *reason)
 
 void qmp_migrate(const char *uri, bool has_blk, bool blk,
                  bool has_inc, bool inc, bool has_detach, bool detach,
-                 Error **errp)
+                 bool has_postcopy, bool postcopy, Error **errp)
 {
     MigrationState *s = migrate_get_current();
     MigrationParams params;
@@ -489,6 +489,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
 
     params.blk = blk;
     params.shared = inc;
+    params.postcopy = postcopy;
 
     if (s->state == MIG_STATE_ACTIVE) {
         error_set(errp, QERR_MIGRATION_ACTIVE);
diff --git a/migration.h b/migration.h
index 0766691..b21df18 100644
--- a/migration.h
+++ b/migration.h
@@ -24,6 +24,7 @@
 struct MigrationParams {
     bool blk;
     bool shared;
+    bool postcopy;
 };
 
 typedef struct MigrationState MigrationState;
diff --git a/qapi-schema.json b/qapi-schema.json
index c615ee2..c969e5a 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -2094,7 +2094,8 @@
 # Since: 0.14.0
 ##
 { 'command': 'migrate',
-  'data': {'uri': 'str', '*blk': 'bool', '*inc': 'bool', '*detach': 'bool' } }
+  'data': {'uri': 'str', '*blk': 'bool', '*inc': 'bool', '*detach': 'bool' ,
+           '*postcopy': 'bool'} }
 
 # @xen-save-devices-state:
 #
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 5ba8c48..ece7a7e 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -518,7 +518,7 @@ EQMP
 
     {
         .name       = "migrate",
-        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
+        .args_type  = "detach:-d,blk:-b,inc:-i,postcopy:-p,uri:s",
         .mhandler.cmd_new = qmp_marshal_input_migrate,
     },
 
@@ -532,6 +532,7 @@ Arguments:
 
 - "blk": block migration, full disk copy (json-bool, optional)
 - "inc": incremental disk copy (json-bool, optional)
+- "postcopy": postcopy migration (json-bool, optional)
 - "uri": Destination URI (json-string)
 
 Example:
diff --git a/savevm.c b/savevm.c
index d1488d2..04b03cf 100644
--- a/savevm.c
+++ b/savevm.c
@@ -1806,7 +1806,8 @@ static int qemu_savevm_state(QEMUFile *f)
     int ret;
     MigrationParams params = {
         .blk = 0,
-        .shared = 0
+        .shared = 0,
+        .postcopy = 0,
     };
 
     if (qemu_savevm_state_blocked(NULL)) {
-- 
1.7.10.4


WARNING: multiple messages have this Message-ID (diff)
From: Isaku Yamahata <yamahata@valinux.co.jp>
To: qemu-devel@nongnu.org, kvm@vger.kernel.org
Cc: benoit.hudzia@gmail.com, aarcange@redhat.com,
	aliguori@us.ibm.com, quintela@redhat.com, stefanha@gmail.com,
	t.hirofuchi@aist.go.jp, dlaor@redhat.com,
	satoshi.itoh@aist.go.jp, mdroth@linux.vnet.ibm.com,
	yoshikawa.takuya@oss.ntt.co.jp, owasserm@redhat.com,
	avi@redhat.com, pbonzini@redhat.com, chegu_vinod@hp.com
Subject: [Qemu-devel] [PATCH v3 24/35] postcopy outgoing: add -p option to migrate command
Date: Tue, 30 Oct 2012 17:33:00 +0900	[thread overview]
Message-ID: <c1ca0759a7b926324b7c94afdbb726adbdaee0ee.1351582535.git.yamahata@valinux.co.jp> (raw)
In-Reply-To: <cover.1351582535.git.yamahata@valinux.co.jp>
In-Reply-To: <cover.1351582535.git.yamahata@valinux.co.jp>

Added -p option to migrate command for postcopy mode and
introduce postcopy parameter for migration to indicate that postcopy mode
is enabled.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
---
Chnages v1 -> v2:
- catch up for qapi change
---
 hmp-commands.hx  |   10 ++++++----
 hmp.c            |    4 +++-
 migration.c      |    3 ++-
 migration.h      |    1 +
 qapi-schema.json |    3 ++-
 qmp-commands.hx  |    3 ++-
 savevm.c         |    3 ++-
 7 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/hmp-commands.hx b/hmp-commands.hx
index e0b537d..f2f1264 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -826,23 +826,25 @@ ETEXI
 
     {
         .name       = "migrate",
-        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
-        .params     = "[-d] [-b] [-i] uri",
+        .args_type  = "detach:-d,blk:-b,inc:-i,postcopy:-p,uri:s",
+        .params     = "[-d] [-b] [-i] [-p] uri",
         .help       = "migrate to URI (using -d to not wait for completion)"
 		      "\n\t\t\t -b for migration without shared storage with"
 		      " full copy of disk\n\t\t\t -i for migration without "
 		      "shared storage with incremental copy of disk "
-		      "(base image shared between src and destination)",
+		      "(base image shared between src and destination)"
+		      "\n\t\t\t-p for migration with postcopy mode enabled",
         .mhandler.cmd = hmp_migrate,
     },
 
 
 STEXI
-@item migrate [-d] [-b] [-i] @var{uri}
+@item migrate [-d] [-b] [-i] [-p] @var{uri}
 @findex migrate
 Migrate to @var{uri} (using -d to not wait for completion).
 	-b for migration with full copy of disk
 	-i for migration with incremental copy of disk (base image is shared)
+	-p for migration with postcopy mode enabled
 ETEXI
 
     {
diff --git a/hmp.c b/hmp.c
index 2b97982..2ea3bc4 100644
--- a/hmp.c
+++ b/hmp.c
@@ -1035,10 +1035,12 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
     int detach = qdict_get_try_bool(qdict, "detach", 0);
     int blk = qdict_get_try_bool(qdict, "blk", 0);
     int inc = qdict_get_try_bool(qdict, "inc", 0);
+    int postcopy = qdict_get_try_bool(qdict, "postcopy", 0);
     const char *uri = qdict_get_str(qdict, "uri");
     Error *err = NULL;
 
-    qmp_migrate(uri, !!blk, blk, !!inc, inc, false, false, &err);
+    qmp_migrate(uri, !!blk, blk, !!inc, inc, false, false,
+                !!postcopy, postcopy, &err);
     if (err) {
         monitor_printf(mon, "migrate: %s\n", error_get_pretty(err));
         error_free(err);
diff --git a/migration.c b/migration.c
index 00b0bc2..8bb6073 100644
--- a/migration.c
+++ b/migration.c
@@ -480,7 +480,7 @@ void migrate_del_blocker(Error *reason)
 
 void qmp_migrate(const char *uri, bool has_blk, bool blk,
                  bool has_inc, bool inc, bool has_detach, bool detach,
-                 Error **errp)
+                 bool has_postcopy, bool postcopy, Error **errp)
 {
     MigrationState *s = migrate_get_current();
     MigrationParams params;
@@ -489,6 +489,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
 
     params.blk = blk;
     params.shared = inc;
+    params.postcopy = postcopy;
 
     if (s->state == MIG_STATE_ACTIVE) {
         error_set(errp, QERR_MIGRATION_ACTIVE);
diff --git a/migration.h b/migration.h
index 0766691..b21df18 100644
--- a/migration.h
+++ b/migration.h
@@ -24,6 +24,7 @@
 struct MigrationParams {
     bool blk;
     bool shared;
+    bool postcopy;
 };
 
 typedef struct MigrationState MigrationState;
diff --git a/qapi-schema.json b/qapi-schema.json
index c615ee2..c969e5a 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -2094,7 +2094,8 @@
 # Since: 0.14.0
 ##
 { 'command': 'migrate',
-  'data': {'uri': 'str', '*blk': 'bool', '*inc': 'bool', '*detach': 'bool' } }
+  'data': {'uri': 'str', '*blk': 'bool', '*inc': 'bool', '*detach': 'bool' ,
+           '*postcopy': 'bool'} }
 
 # @xen-save-devices-state:
 #
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 5ba8c48..ece7a7e 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -518,7 +518,7 @@ EQMP
 
     {
         .name       = "migrate",
-        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
+        .args_type  = "detach:-d,blk:-b,inc:-i,postcopy:-p,uri:s",
         .mhandler.cmd_new = qmp_marshal_input_migrate,
     },
 
@@ -532,6 +532,7 @@ Arguments:
 
 - "blk": block migration, full disk copy (json-bool, optional)
 - "inc": incremental disk copy (json-bool, optional)
+- "postcopy": postcopy migration (json-bool, optional)
 - "uri": Destination URI (json-string)
 
 Example:
diff --git a/savevm.c b/savevm.c
index d1488d2..04b03cf 100644
--- a/savevm.c
+++ b/savevm.c
@@ -1806,7 +1806,8 @@ static int qemu_savevm_state(QEMUFile *f)
     int ret;
     MigrationParams params = {
         .blk = 0,
-        .shared = 0
+        .shared = 0,
+        .postcopy = 0,
     };
 
     if (qemu_savevm_state_blocked(NULL)) {
-- 
1.7.10.4

  parent reply	other threads:[~2012-10-30  8:33 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-30  8:32 [PATCH v3 00/35] postcopy live migration Isaku Yamahata
2012-10-30  8:32 ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 01/35] migration.c: remove redundant line in migrate_init() Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 02/35] arch_init: DPRINTF format error and typo Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 03/35] split MRU ram list Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 04/35] add a version number to ram_list Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 05/35] protect the ramlist with a separate mutex Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 06/35] osdep: add qemu_read_full() to read interrupt-safely Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 07/35] savevm: export qemu_peek_buffer, qemu_peek_byte, qemu_file_skip, qemu_fflush Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 08/35] savevm/QEMUFile: consolidate QEMUFile functions a bit Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 09/35] savevm/QEMUFile: introduce qemu_fopen_fd Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 10/35] savevm/QEMUFile: add read/write QEMUFile on memory buffer Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 11/35] savevm, buffered_file: introduce method to drain buffer of buffered file Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 12/35] arch_init: export RAM_SAVE_xxx flags for postcopy Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 13/35] arch_init/ram_save: introduce constant for ram save version = 4 Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 14/35] arch_init: refactor ram_save_block() and export ram_save_block() Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 15/35] arch_init/ram_save_setup: factor out bitmap alloc/free Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 16/35] arch_init/ram_load: refactor ram_load Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 17/35] arch_init: factor out logic to find ram block with id string Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 18/35] migration: export migrate_fd_completed() and migrate_fd_cleanup() Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 19/35] uvmem.h: import Linux uvmem.h and teach update-linux-headers.sh Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 20/35] osdep: add QEMU_MADV_REMOVE and tirivial fix Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 21/35] postcopy: introduce helper functions for postcopy Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 22/35] savevm: add new section that is used by postcopy Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:32 ` [PATCH v3 23/35] postcopy: implement incoming part of postcopy live migration Isaku Yamahata
2012-10-30  8:32   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:33 ` Isaku Yamahata [this message]
2012-10-30  8:33   ` [Qemu-devel] [PATCH v3 24/35] postcopy outgoing: add -p option to migrate command Isaku Yamahata
2012-11-01 19:48   ` Eric Blake
2012-11-01 19:48     ` [Qemu-devel] " Eric Blake
2012-10-30  8:33 ` [PATCH v3 25/35] postcopy: implement outgoing part of postcopy live migration Isaku Yamahata
2012-10-30  8:33   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:33 ` [PATCH v3 26/35] postcopy/outgoing: add -n options to disable background transfer Isaku Yamahata
2012-10-30  8:33   ` [Qemu-devel] " Isaku Yamahata
2012-11-01 19:56   ` Eric Blake
2012-11-01 19:56     ` Eric Blake
2012-10-30  8:33 ` [PATCH v3 27/35] postcopy/outgoing: implement forward/backword prefault Isaku Yamahata
2012-10-30  8:33   ` [Qemu-devel] " Isaku Yamahata
2012-11-01 20:10   ` Eric Blake
2012-11-01 20:10     ` [Qemu-devel] " Eric Blake
2012-11-02  5:24     ` Isaku Yamahata
2012-11-02  5:24       ` [Qemu-devel] " Isaku Yamahata
2012-11-02 15:22       ` Eric Blake
2012-11-02 15:22         ` Eric Blake
2012-10-30  8:33 ` [PATCH v3 28/35] arch_init: factor out setting last_block, last_offset Isaku Yamahata
2012-10-30  8:33   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:33 ` [PATCH v3 29/35] postcopy/outgoing: add movebg mode(-m) to migration command Isaku Yamahata
2012-10-30  8:33   ` [Qemu-devel] " Isaku Yamahata
2012-11-01 20:15   ` Eric Blake
2012-11-01 20:15     ` [Qemu-devel] " Eric Blake
2012-10-30  8:33 ` [PATCH v3 30/35] arch_init: factor out ram_load Isaku Yamahata
2012-10-30  8:33   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:33 ` [PATCH v3 31/35] arch_init: export ram_save_iterate() Isaku Yamahata
2012-10-30  8:33   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:33 ` [PATCH v3 32/35] postcopy: pre+post optimization incoming side Isaku Yamahata
2012-10-30  8:33   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:33 ` [PATCH v3 33/35] arch_init: export migration_bitmap_sync and helper method to get bitmap Isaku Yamahata
2012-10-30  8:33   ` [Qemu-devel] " Isaku Yamahata
2012-10-30  8:33 ` [PATCH v3 34/35] postcopy/outgoing: introduce precopy_count parameter Isaku Yamahata
2012-10-30  8:33   ` [Qemu-devel] " Isaku Yamahata
2012-11-01 21:20   ` Eric Blake
2012-11-01 21:20     ` Eric Blake
2012-10-30  8:33 ` [PATCH v3 35/35] postcopy: pre+post optimization outgoing side Isaku Yamahata
2012-10-30  8:33   ` [Qemu-devel] " Isaku Yamahata
2012-10-30 18:53 ` [PATCH v3 00/35] postcopy live migration Benoit Hudzia
2012-10-30 18:53   ` [Qemu-devel] " Benoit Hudzia
2012-10-31  3:25   ` Isaku Yamahata
2012-10-31  3:25     ` Isaku Yamahata
2012-10-30 18:55 ` Benoit Hudzia
2012-10-30 18:55   ` [Qemu-devel] " Benoit Hudzia
2012-11-06 11:04 ` Orit Wasserman
2012-11-06 11:04   ` [Qemu-devel] " Orit Wasserman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c1ca0759a7b926324b7c94afdbb726adbdaee0ee.1351582535.git.yamahata@valinux.co.jp \
    --to=yamahata@valinux.co.jp \
    --cc=aarcange@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=avi@redhat.com \
    --cc=benoit.hudzia@gmail.com \
    --cc=chegu_vinod@hp.com \
    --cc=dlaor@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=owasserm@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=satoshi.itoh@aist.go.jp \
    --cc=stefanha@gmail.com \
    --cc=t.hirofuchi@aist.go.jp \
    --cc=yoshikawa.takuya@oss.ntt.co.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.