From: Kevin Wolf <kwolf@redhat.com>
To: qemu-block@nongnu.org
Cc: kwolf@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com,
mreitz@redhat.com
Subject: [PATCH v2 09/31] nbd: Add writethrough to block-export-add
Date: Thu, 24 Sep 2020 17:26:55 +0200 [thread overview]
Message-ID: <20200924152717.287415-10-kwolf@redhat.com> (raw)
In-Reply-To: <20200924152717.287415-1-kwolf@redhat.com>
qemu-nbd allows use of writethrough cache modes, which mean that write
requests made through NBD will cause a flush before they complete.
Expose the same functionality in block-export-add.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
---
qapi/block-export.json | 7 ++++++-
blockdev-nbd.c | 6 +++++-
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/qapi/block-export.json b/qapi/block-export.json
index 60474bfacd..319a38be88 100644
--- a/qapi/block-export.json
+++ b/qapi/block-export.json
@@ -170,10 +170,15 @@
# Describes a block export, i.e. how single node should be exported on an
# external interface.
#
+# @writethrough: If true, caches are flushed after every write request to the
+# export before completion is signalled. (since: 5.2;
+# default: false)
+#
# Since: 4.2
##
{ 'union': 'BlockExportOptions',
- 'base': { 'type': 'BlockExportType' },
+ 'base': { 'type': 'BlockExportType',
+ '*writethrough': 'bool' },
'discriminator': 'type',
'data': {
'nbd': 'BlockExportOptionsNbd'
diff --git a/blockdev-nbd.c b/blockdev-nbd.c
index 41d5542987..09247a8ded 100644
--- a/blockdev-nbd.c
+++ b/blockdev-nbd.c
@@ -216,9 +216,13 @@ BlockExport *nbd_export_create(BlockExportOptions *exp_args, Error **errp)
goto out;
}
+ if (!exp_args->has_writethrough) {
+ exp_args->writethrough = false;
+ }
+
exp = nbd_export_new(bs, arg->name, arg->description, arg->bitmap,
!arg->writable, !arg->writable,
- NULL, false, errp);
+ NULL, exp_args->writethrough, errp);
if (!exp) {
goto out;
}
--
2.25.4
next prev parent reply other threads:[~2020-09-24 15:44 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-24 15:26 [PATCH v2 00/31] block/export: Add infrastructure and QAPI for block exports Kevin Wolf
2020-09-24 15:26 ` [PATCH v2 01/31] nbd: Remove unused nbd_export_get_blockdev() Kevin Wolf
2020-09-24 15:26 ` [PATCH v2 02/31] qapi: Create block-export module Kevin Wolf
2020-09-24 15:26 ` [PATCH v2 03/31] qapi: Rename BlockExport to BlockExportOptions Kevin Wolf
2020-09-24 15:26 ` [PATCH v2 04/31] block/export: Add BlockExport infrastructure and block-export-add Kevin Wolf
2020-09-25 13:18 ` Eric Blake
2020-09-24 15:26 ` [PATCH v2 05/31] qemu-storage-daemon: Use qmp_block_export_add() Kevin Wolf
2020-09-24 15:26 ` [PATCH v2 06/31] qemu-nbd: Use raw block driver for --offset Kevin Wolf
2020-09-24 15:26 ` [PATCH v2 07/31] block/export: Remove magic from block-export-add Kevin Wolf
2020-09-24 15:26 ` [PATCH v2 08/31] nbd: Add max-connections to nbd-server-start Kevin Wolf
2020-09-24 15:26 ` Kevin Wolf [this message]
2020-09-24 15:26 ` [PATCH v2 10/31] nbd: Remove NBDExport.close callback Kevin Wolf
2020-09-24 15:26 ` [PATCH v2 11/31] qemu-nbd: Use blk_exp_add() to create the export Kevin Wolf
2020-09-24 15:26 ` [PATCH v2 12/31] nbd/server: Simplify export shutdown Kevin Wolf
2020-09-24 15:26 ` [PATCH v2 13/31] block/export: Move refcount from NBDExport to BlockExport Kevin Wolf
2020-09-24 15:27 ` [PATCH v2 14/31] block/export: Move AioContext " Kevin Wolf
2020-09-24 15:27 ` [PATCH v2 15/31] block/export: Add node-name to BlockExportOptions Kevin Wolf
2020-09-24 15:27 ` [PATCH v2 16/31] block/export: Allocate BlockExport in blk_exp_add() Kevin Wolf
2020-09-24 15:27 ` [PATCH v2 17/31] block/export: Add blk_exp_close_all(_type) Kevin Wolf
2020-09-24 15:27 ` [PATCH v2 18/31] block/export: Add 'id' option to block-export-add Kevin Wolf
2020-09-24 15:27 ` [PATCH v2 19/31] block/export: Move strong user reference to block_exports Kevin Wolf
2020-09-24 15:27 ` [PATCH v2 20/31] block/export: Add block-export-del Kevin Wolf
2020-09-24 15:27 ` [PATCH v2 21/31] block/export: Add BLOCK_EXPORT_DELETED event Kevin Wolf
2020-09-25 12:34 ` Max Reitz
2020-09-24 15:27 ` [PATCH v2 22/31] block/export: Move blk to BlockExport Kevin Wolf
2020-09-24 15:27 ` [PATCH v2 23/31] block/export: Create BlockBackend in blk_exp_add() Kevin Wolf
2020-09-24 15:27 ` [PATCH v2 24/31] block/export: Add query-block-exports Kevin Wolf
2020-09-24 15:27 ` [PATCH v2 25/31] block/export: Move writable to BlockExportOptions Kevin Wolf
2020-09-24 15:27 ` [PATCH v2 26/31] nbd: Merge nbd_export_new() and nbd_export_create() Kevin Wolf
2020-09-25 12:42 ` Max Reitz
2020-09-24 15:27 ` [PATCH v2 27/31] nbd: Deprecate nbd-server-add/remove Kevin Wolf
2020-09-25 12:43 ` Max Reitz
2020-09-24 15:27 ` [PATCH v2 28/31] iotests: Factor out qemu_tool_pipe_and_status() Kevin Wolf
2020-09-25 12:48 ` Max Reitz
2020-09-24 15:27 ` [PATCH v2 29/31] iotests: Introduce qemu_nbd_list_log() Kevin Wolf
2020-09-25 12:55 ` Max Reitz
2020-09-24 15:27 ` [PATCH v2 30/31] iotests: Allow supported and unsupported formats at the same time Kevin Wolf
2020-09-25 12:59 ` Max Reitz
2020-09-24 15:27 ` [PATCH v2 31/31] iotests: Test block-export-* QMP interface Kevin Wolf
2020-09-25 13:02 ` Max Reitz
2020-09-24 17:21 ` [PATCH v2 00/31] block/export: Add infrastructure and QAPI for block exports no-reply
2020-09-25 8:45 ` Stefan Hajnoczi
2020-09-25 8:51 ` Stefan Hajnoczi
2020-09-28 15:29 ` 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=20200924152717.287415-10-kwolf@redhat.com \
--to=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/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).