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 <kw...@redhat.com> --- qapi/block-export.json | 7 ++++++- blockdev-nbd.c | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/qapi/block-export.json b/qapi/block-export.json index 1fdc55c53a..4ce163411f 100644 --- a/qapi/block-export.json +++ b/qapi/block-export.json @@ -167,10 +167,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 28159a92b2..17417c1b6b 100644 --- a/blockdev-nbd.c +++ b/blockdev-nbd.c @@ -218,7 +218,7 @@ BlockExport *nbd_export_create(BlockExportOptions *exp_args, Error **errp) 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