From: Kevin Wolf <kwolf@redhat.com>
To: qemu-block@nongnu.org
Cc: kwolf@redhat.com, qemu-devel@nongnu.org
Subject: [Qemu-devel] [PULL 35/48] block/qapi: Use blk_enable_write_cache()
Date: Tue, 29 Mar 2016 17:08:35 +0200 [thread overview]
Message-ID: <1459264128-12761-36-git-send-email-kwolf@redhat.com> (raw)
In-Reply-To: <1459264128-12761-1-git-send-email-kwolf@redhat.com>
Now that WCE is handled on the BlockBackend level, the flag is
meaningless for BDSes. As the schema requires us to fill the field,
we return an enabled write cache for them.
Note that this means that querying the BlockBackend name may return
writethrough as the cache information, whereas querying the node-name of
the root of that same BlockBackend will return writeback.
This may appear odd at first, but it actually makes sense because it
correctly repesents the layer that implements the WCE handling. This
becomes more apparent when you consider nodes that are the root node of
multiple BlockBackends, where each BB can have its own WCE setting.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
---
block.c | 2 +-
block/qapi.c | 7 +++---
include/block/qapi.h | 3 ++-
tests/qemu-iotests/142 | 7 +++++-
tests/qemu-iotests/142.out | 57 ++++++++++++++++++++++++++++++++++++++--------
5 files changed, 60 insertions(+), 16 deletions(-)
diff --git a/block.c b/block.c
index 57f1140..0bd2eb2 100644
--- a/block.c
+++ b/block.c
@@ -2916,7 +2916,7 @@ BlockDeviceInfoList *bdrv_named_nodes_list(Error **errp)
list = NULL;
QTAILQ_FOREACH(bs, &graph_bdrv_states, node_list) {
- BlockDeviceInfo *info = bdrv_block_device_info(bs, errp);
+ BlockDeviceInfo *info = bdrv_block_device_info(NULL, bs, errp);
if (!info) {
qapi_free_BlockDeviceInfoList(list);
return NULL;
diff --git a/block/qapi.c b/block/qapi.c
index 64328a8..ea3e7b5 100644
--- a/block/qapi.c
+++ b/block/qapi.c
@@ -33,7 +33,8 @@
#include "qapi/qmp/types.h"
#include "sysemu/block-backend.h"
-BlockDeviceInfo *bdrv_block_device_info(BlockDriverState *bs, Error **errp)
+BlockDeviceInfo *bdrv_block_device_info(BlockBackend *blk,
+ BlockDriverState *bs, Error **errp)
{
ImageInfo **p_image_info;
BlockDriverState *bs0;
@@ -47,7 +48,7 @@ BlockDeviceInfo *bdrv_block_device_info(BlockDriverState *bs, Error **errp)
info->cache = g_new(BlockdevCacheInfo, 1);
*info->cache = (BlockdevCacheInfo) {
- .writeback = bdrv_enable_write_cache(bs),
+ .writeback = blk ? blk_enable_write_cache(blk) : true,
.direct = !!(bs->open_flags & BDRV_O_NOCACHE),
.no_flush = !!(bs->open_flags & BDRV_O_NO_FLUSH),
};
@@ -342,7 +343,7 @@ static void bdrv_query_info(BlockBackend *blk, BlockInfo **p_info,
if (bs && bs->drv) {
info->has_inserted = true;
- info->inserted = bdrv_block_device_info(bs, errp);
+ info->inserted = bdrv_block_device_info(blk, bs, errp);
if (info->inserted == NULL) {
goto err;
}
diff --git a/include/block/qapi.h b/include/block/qapi.h
index 327549d..82ba4b6 100644
--- a/include/block/qapi.h
+++ b/include/block/qapi.h
@@ -29,7 +29,8 @@
#include "block/block.h"
#include "block/snapshot.h"
-BlockDeviceInfo *bdrv_block_device_info(BlockDriverState *bs, Error **errp);
+BlockDeviceInfo *bdrv_block_device_info(BlockBackend *blk,
+ BlockDriverState *bs, Error **errp);
int bdrv_query_snapshot_info_list(BlockDriverState *bs,
SnapshotInfoList **p_list,
Error **errp);
diff --git a/tests/qemu-iotests/142 b/tests/qemu-iotests/142
index 517fb30..8bbbfde 100755
--- a/tests/qemu-iotests/142
+++ b/tests/qemu-iotests/142
@@ -134,7 +134,8 @@ echo
# First check the inherited cache mode after opening the image.
-hmp_cmds="info block image
+hmp_cmds="info block none0
+info block image
info block file
info block backing
info block backing-file"
@@ -164,6 +165,7 @@ echo
# new cache mode is specified in the flags, not as an option.
hmp_cmds='qemu-io none0 "reopen -c none"
+info block none0
info block image
info block file
info block backing
@@ -179,6 +181,7 @@ echo
# new cache mode is specified as an option, not in the flags.
hmp_cmds='qemu-io none0 "reopen -o cache.direct=on"
+info block none0
info block image
info block file
info block backing
@@ -214,6 +217,7 @@ echo
# options from its parent node.
hmp_cmds="qemu-io none0 \"reopen -o cache.writeback=off,cache.direct=on,cache.no-flush=on\"
+info block none0
info block image
info block blkdebug
info block file"
@@ -321,6 +325,7 @@ echo "--- Basic reopen ---"
echo
hmp_cmds='qemu-io none0 "reopen -o backing.cache.direct=on"
+info block none0
info block image
info block file
info block backing
diff --git a/tests/qemu-iotests/142.out b/tests/qemu-iotests/142.out
index 32dc802..c922490 100644
--- a/tests/qemu-iotests/142.out
+++ b/tests/qemu-iotests/142.out
@@ -39,9 +39,11 @@ cache.direct=on on none0
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
cache.direct=on on file
Cache mode: writeback
+ Cache mode: writeback
Cache mode: writeback, direct
Cache mode: writeback
Cache mode: writeback
@@ -49,6 +51,7 @@ cache.direct=on on file
cache.direct=on on backing
Cache mode: writeback
Cache mode: writeback
+ Cache mode: writeback
Cache mode: writeback, direct
Cache mode: writeback, direct
@@ -56,6 +59,7 @@ cache.direct=on on backing-file
Cache mode: writeback
Cache mode: writeback
Cache mode: writeback
+ Cache mode: writeback
Cache mode: writeback, direct
@@ -64,6 +68,7 @@ cache.writeback=off on none0
Cache mode: writeback
Cache mode: writeback
Cache mode: writeback
+ Cache mode: writeback
cache.writeback=off on file
QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,file.cache.writeback=off: Can't set writethrough mode except for the root
@@ -80,9 +85,11 @@ cache.no-flush=on on none0
Cache mode: writeback, ignore flushes
Cache mode: writeback, ignore flushes
Cache mode: writeback, ignore flushes
+ Cache mode: writeback, ignore flushes
cache.no-flush=on on file
Cache mode: writeback
+ Cache mode: writeback
Cache mode: writeback, ignore flushes
Cache mode: writeback
Cache mode: writeback
@@ -90,6 +97,7 @@ cache.no-flush=on on file
cache.no-flush=on on backing
Cache mode: writeback
Cache mode: writeback
+ Cache mode: writeback
Cache mode: writeback, ignore flushes
Cache mode: writeback, ignore flushes
@@ -97,6 +105,7 @@ cache.no-flush=on on backing-file
Cache mode: writeback
Cache mode: writeback
Cache mode: writeback
+ Cache mode: writeback
Cache mode: writeback, ignore flushes
--- Cache modes after reopen (live snapshot) ---
@@ -182,24 +191,28 @@ cache.direct=on on none0
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
cache.direct=on on file
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
cache.direct=on on backing
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
cache.direct=on on backing-file
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
cache.writeback=off on none0
@@ -207,6 +220,7 @@ cache.writeback=off on none0
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
cache.writeback=off on file
QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,file.cache.writeback=off: Can't set writethrough mode except for the root
@@ -223,9 +237,11 @@ cache.no-flush=on on none0
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
cache.no-flush=on on file
Cache mode: writeback, direct
+ Cache mode: writeback, direct
Cache mode: writeback, direct, ignore flushes
Cache mode: writeback, direct
Cache mode: writeback, direct
@@ -233,6 +249,7 @@ cache.no-flush=on on file
cache.no-flush=on on backing
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
Cache mode: writeback, direct, ignore flushes
Cache mode: writeback, direct, ignore flushes
@@ -240,6 +257,7 @@ cache.no-flush=on on backing-file
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
Cache mode: writeback, direct, ignore flushes
--- Change cache modes with reopen (qemu-io command, options) ---
@@ -249,24 +267,28 @@ cache.direct=on on none0
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
cache.direct=on on file
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
cache.direct=on on backing
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
cache.direct=on on backing-file
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
cache.writeback=off on none0
@@ -274,6 +296,7 @@ cache.writeback=off on none0
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
cache.writeback=off on file
QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,file.cache.writeback=off: Can't set writethrough mode except for the root
@@ -290,9 +313,11 @@ cache.no-flush=on on none0
Cache mode: writeback, direct, ignore flushes
Cache mode: writeback, direct, ignore flushes
Cache mode: writeback, direct, ignore flushes
+ Cache mode: writeback, direct, ignore flushes
cache.no-flush=on on file
Cache mode: writeback, direct
+ Cache mode: writeback, direct
Cache mode: writeback, direct, ignore flushes
Cache mode: writeback, direct
Cache mode: writeback, direct
@@ -300,6 +325,7 @@ cache.no-flush=on on file
cache.no-flush=on on backing
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
Cache mode: writeback, direct, ignore flushes
Cache mode: writeback, direct, ignore flushes
@@ -307,6 +333,7 @@ cache.no-flush=on on backing-file
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
Cache mode: writeback, direct, ignore flushes
--- Change cache modes after snapshot ---
@@ -389,6 +416,7 @@ cache.no-flush=on on backing-file
Cache mode: writethrough, direct, ignore flushes
Cache mode: writeback, direct, ignore flushes
+ Cache mode: writeback, direct, ignore flushes
Cache mode: writeback, ignore flushes
=== Check that referenced BDSes don't inherit ===
@@ -422,28 +450,28 @@ cache.direct=on on backing-file
cache.writeback=off on blk
- Cache mode: writethrough
+ Cache mode: writeback
Cache mode: writeback
Cache mode: writeback
Cache mode: writeback
cache.writeback=off on file
Cache mode: writeback
- Cache mode: writethrough
+ Cache mode: writeback
Cache mode: writeback
Cache mode: writeback
cache.writeback=off on backing
Cache mode: writeback
Cache mode: writeback
- Cache mode: writethrough
+ Cache mode: writeback
Cache mode: writeback
cache.writeback=off on backing-file
Cache mode: writeback
Cache mode: writeback
Cache mode: writeback
- Cache mode: writethrough
+ Cache mode: writeback
cache.no-flush=on on blk
@@ -511,7 +539,7 @@ cache.writeback=off on blk
cache.writeback=off on file
Cache mode: writeback
Cache mode: writeback
- Cache mode: writethrough
+ Cache mode: writeback
Cache mode: writeback
Cache mode: writeback
@@ -519,7 +547,7 @@ cache.writeback=off on backing
Cache mode: writeback
Cache mode: writeback
Cache mode: writeback
- Cache mode: writethrough
+ Cache mode: writeback
Cache mode: writeback
cache.writeback=off on backing-file
@@ -527,7 +555,7 @@ cache.writeback=off on backing-file
Cache mode: writeback
Cache mode: writeback
Cache mode: writeback
- Cache mode: writethrough
+ Cache mode: writeback
cache.no-flush=on on blk
@@ -593,21 +621,21 @@ cache.writeback=off on blk
cache.writeback=off on file
Cache mode: writeback, direct
- Cache mode: writethrough
+ Cache mode: writeback
Cache mode: writeback
Cache mode: writeback
cache.writeback=off on backing
Cache mode: writeback, direct
Cache mode: writeback
- Cache mode: writethrough
+ Cache mode: writeback
Cache mode: writeback
cache.writeback=off on backing-file
Cache mode: writeback, direct
Cache mode: writeback
Cache mode: writeback
- Cache mode: writethrough
+ Cache mode: writeback
cache.no-flush=on on blk
@@ -644,9 +672,11 @@ cache.direct=on on none0
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
+ Cache mode: writeback, direct
cache.direct=on on file
Cache mode: writeback
+ Cache mode: writeback
Cache mode: writeback, direct
Cache mode: writeback, direct
Cache mode: writeback, direct
@@ -654,12 +684,14 @@ cache.direct=on on file
cache.direct=on on backing
Cache mode: writeback
Cache mode: writeback
+ Cache mode: writeback
Cache mode: writeback, direct
Cache mode: writeback, direct
cache.direct=on on backing-file
Cache mode: writeback
Cache mode: writeback
+ Cache mode: writeback
Cache mode: writeback, direct
Cache mode: writeback, direct
@@ -667,6 +699,7 @@ cache.direct=on on backing-file
cache.writeback=off on none0
Cache mode: writethrough
Cache mode: writeback
+ Cache mode: writeback
Cache mode: writeback, direct
Cache mode: writeback, direct
@@ -683,11 +716,13 @@ QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t
cache.no-flush=on on none0
Cache mode: writeback, ignore flushes
Cache mode: writeback, ignore flushes
+ Cache mode: writeback, ignore flushes
Cache mode: writeback, direct, ignore flushes
Cache mode: writeback, direct, ignore flushes
cache.no-flush=on on file
Cache mode: writeback
+ Cache mode: writeback
Cache mode: writeback, ignore flushes
Cache mode: writeback, direct
Cache mode: writeback, direct
@@ -695,12 +730,14 @@ cache.no-flush=on on file
cache.no-flush=on on backing
Cache mode: writeback
Cache mode: writeback
+ Cache mode: writeback
Cache mode: writeback, direct, ignore flushes
Cache mode: writeback, direct, ignore flushes
cache.no-flush=on on backing-file
Cache mode: writeback
Cache mode: writeback
+ Cache mode: writeback
Cache mode: writeback, direct
Cache mode: writeback, direct, ignore flushes
--
1.8.3.1
next prev parent reply other threads:[~2016-03-29 15:10 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-29 15:08 [Qemu-devel] [PULL 00/48] Block layer patches Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 01/48] block: Remove bdrv_make_anon() Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 02/48] block: Remove copy-on-read from bdrv_move_feature_fields() Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 03/48] block: Remove dirty bitmaps " Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 04/48] block: Remove cache.writeback from blockdev-add Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 05/48] block: Make backing files always writeback Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 06/48] block: Reject writethrough mode except at the root Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 07/48] block/raw-posix.c: Make physical devices usable in QEMU under Mac OS X host Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 08/48] block: Remove blk_set_bs() Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 09/48] block/qapi: make two printf() formats literal Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 10/48] block/qapi: fix unbounded stack for dump_qdict Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 11/48] block/qapi: Set s->device in bdrv_query_stats() Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 12/48] block/qapi: Pass bdrv_query_blk_stats() s->stats Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 13/48] block: add flag to indicate that no I/O will be performed Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 14/48] qemu-img/qemu-io: don't prompt for passwords if not required Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 15/48] tests: redirect stderr to stdout for iotests Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 16/48] tests: refactor python I/O tests helper main method Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 17/48] tests: add output filter to python I/O tests helper Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 18/48] block: add generic full disk encryption driver Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 19/48] block: move encryption deprecation warning into qcow code Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 20/48] block: an interoperability test for luks vs dm-crypt/cryptsetup Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 21/48] block: add flush callback Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 22/48] replay: bh scheduling fix Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 23/48] replay: fix error message Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 24/48] replay: introduce block devices record/replay Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 25/48] block: Add bdrv_parse_cache_mode() Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 26/48] qemu-nbd: Call blk_set_enable_write_cache() explicitly Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 27/48] qemu-io: " Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 28/48] qemu-img: Expand all BDRV_O_FLAGS uses Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 29/48] qemu-img: Call blk_set_enable_write_cache() explicitly Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 30/48] xen_disk: " Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 31/48] block: blockdev_init(): " Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 32/48] block: Always set writeback mode in blk_new_open() Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 33/48] block: Handle flush error in bdrv_pwrite_sync() Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 34/48] block: Move enable_write_cache to BB level Kevin Wolf
2016-03-29 15:08 ` Kevin Wolf [this message]
2016-03-29 15:08 ` [Qemu-devel] [PULL 36/48] block: Introduce bdrv_co_writev_flags() Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 37/48] iscsi: Support BDRV_REQ_FUA Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 38/48] nbd: " Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 39/48] raw: " Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 40/48] block: Use bdrv_parse_cache_mode() in drive_init() Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 41/48] qemu-io: Use bdrv_parse_cache_mode() in reopen_f() Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 42/48] block: Remove bdrv_parse_cache_flags() Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 43/48] block: Remove BDRV_O_CACHE_WB Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 44/48] block: Remove bdrv_(set_)enable_write_cache() Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 45/48] qemu-img: Fix preallocation with -S 0 for convert Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 46/48] block/null-{co, aio}: Allow reading zeroes Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 47/48] block/null-{co, aio}: Implement get_block_status() Kevin Wolf
2016-03-29 15:08 ` [Qemu-devel] [PULL 48/48] iotests: Test qemu-img convert -S 0 behavior Kevin Wolf
2016-04-07 14:40 ` Paolo Bonzini
2016-04-08 1:18 ` Fam Zheng
2016-04-08 10:21 ` Kevin Wolf
2016-04-08 10:42 ` Fam Zheng
2016-03-29 19:56 ` [Qemu-devel] [PULL 00/48] Block layer patches Peter Maydell
2016-03-30 8:57 ` Kevin Wolf
2016-03-30 11:29 ` Peter Maydell
2016-03-30 12:07 ` Kevin Wolf
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=1459264128-12761-36-git-send-email-kwolf@redhat.com \
--to=kwolf@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).