@@ -507,6 +507,7 @@ int main(int argc, char **argv)
const char *export_name = NULL;
const char *tlscredsid = NULL;
bool imageOpts = false;
+ bool writethrough = true;
/* The client thread uses SIGTERM to interrupt the server. A signal
* handler ensures that "qemu-nbd -v -c" exits with a nice status code.
@@ -533,7 +534,7 @@ int main(int argc, char **argv)
exit(EXIT_FAILURE);
}
seen_cache = true;
- if (bdrv_parse_cache_flags(optarg, &flags) == -1) {
+ if (bdrv_parse_cache_mode(optarg, &flags, &writethrough) == -1) {
error_report("Invalid cache mode `%s'", optarg);
exit(EXIT_FAILURE);
}
@@ -847,6 +848,8 @@ int main(int argc, char **argv)
}
bs = blk_bs(blk);
+ blk_set_enable_write_cache(blk, !writethrough);
+
if (sn_opts) {
ret = bdrv_snapshot_load_tmp(bs,
qemu_opt_get(sn_opts, SNAPSHOT_OPT_ID),
Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- qemu-nbd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)