From: Kevin Wolf Date: Thu, 24 Sep 2020 15:26:55 +0000 (+0200) Subject: nbd: Add writethrough to block-export-add X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=fefee85da055e100ea86d15274106f78502c2819;p=qemu.git nbd: Add writethrough to block-export-add 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 Reviewed-by: Max Reitz Message-Id: <20200924152717.287415-10-kwolf@redhat.com> Acked-by: Stefan Hajnoczi Signed-off-by: Kevin Wolf --- 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; } diff --git a/qapi/block-export.json b/qapi/block-export.json index 8aa8a01fa6..ce66f278b2 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'