[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 09/29] nbd: Add writethrough to block-export-add
From: |
Kevin Wolf |
Subject: |
[PATCH 09/29] nbd: Add writethrough to block-export-add |
Date: |
Mon, 7 Sep 2020 20:19:51 +0200 |
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>
---
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 7dedd893ab..d95c082a33 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
- [PATCH 01/29] nbd: Remove unused nbd_export_get_blockdev(), (continued)
- [PATCH 01/29] nbd: Remove unused nbd_export_get_blockdev(), Kevin Wolf, 2020/09/07
- [PATCH 03/29] qapi: Rename BlockExport to BlockExportOptions, Kevin Wolf, 2020/09/07
- [PATCH 05/29] qemu-storage-daemon: Use qmp_block_export_add(), Kevin Wolf, 2020/09/07
- [PATCH 02/29] qapi: Create block-export module, Kevin Wolf, 2020/09/07
- [PATCH 08/29] nbd: Add max-connections to nbd-server-start, Kevin Wolf, 2020/09/07
- [PATCH 04/29] block/export: Add BlockExport infrastructure and block-export-add, Kevin Wolf, 2020/09/07
- [PATCH 06/29] qemu-nbd: Use raw block driver for --offset, Kevin Wolf, 2020/09/07
- [PATCH 07/29] block/export: Remove magic from block-export-add, Kevin Wolf, 2020/09/07
- [PATCH 09/29] nbd: Add writethrough to block-export-add,
Kevin Wolf <=
- [PATCH 10/29] nbd: Remove NBDExport.close callback, Kevin Wolf, 2020/09/07
- [PATCH 11/29] qemu-nbd: Use blk_exp_add() to create the export, Kevin Wolf, 2020/09/07
- [PATCH 12/29] nbd/server: Simplify export shutdown, Kevin Wolf, 2020/09/07
- [PATCH 13/29] block/export: Move refcount from NBDExport to BlockExport, Kevin Wolf, 2020/09/07
- [PATCH 14/29] block/export: Move AioContext from NBDExport to BlockExport, Kevin Wolf, 2020/09/07
- [PATCH 16/29] block/export: Allocate BlockExport in blk_exp_add(), Kevin Wolf, 2020/09/07
- [PATCH 15/29] block/export: Add node-name to BlockExportOptions, Kevin Wolf, 2020/09/07