Blob Blame Raw
From 199b75933947cbfdedb3b1afd74ec1d24b9379b0 Mon Sep 17 00:00:00 2001
From: Kevin Wolf <>
Date: Thu, 10 Jan 2019 12:44:40 +0000
Subject: [PATCH 10/14] block: Make auto-read-only=on default for -drive

RH-Author: Kevin Wolf <>
Message-id: <>
Patchwork-id: 83958
O-Subject: [RHEL-8.0 qemu-kvm PATCH 10/12] block: Make auto-read-only=on default for -drive
Bugzilla: 1644996
RH-Acked-by: Max Reitz <>
RH-Acked-by: Stefan Hajnoczi <>
RH-Acked-by: Eric Blake <>

While we want machine interfaces like -blockdev and QMP blockdev-add to
add as little auto-detection as possible so that management tools are
explicit about their needs, -drive is a convenience option for human
users. Enabling auto-read-only=on by default there enables users to use
read-only images for read-only guest devices without having to specify
read-only=on explicitly. If they try to attach the image to a read-write
device, they will still get an error message.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Eric Blake <>
(cherry picked from commit 9384a444f6ebcd66bba0ae3c8434120d03c8dfea)
Signed-off-by: Kevin Wolf <>
Signed-off-by: Danilo C. L. de Paula <>
 blockdev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/blockdev.c b/blockdev.c
index be650d0..f3b60f6 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -590,6 +590,7 @@ static BlockBackend *blockdev_init(const char *file, QDict *bs_opts,
         qdict_set_default_str(bs_opts, BDRV_OPT_CACHE_NO_FLUSH, "off");
         qdict_set_default_str(bs_opts, BDRV_OPT_READ_ONLY,
                               read_only ? "on" : "off");
+        qdict_set_default_str(bs_opts, BDRV_OPT_AUTO_READ_ONLY, "on");
         assert((bdrv_flags & BDRV_O_CACHE_MASK) == 0);
         if (runstate_check(RUN_STATE_INMIGRATE)) {