qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-block] [PATCH 04/14] qemu-img: Set "share-rw" flag in read-only co


From: Fam Zheng
Subject: [Qemu-block] [PATCH 04/14] qemu-img: Set "share-rw" flag in read-only commands
Date: Mon, 31 Oct 2016 23:38:24 +0800

Checking the status of an image when it is being used by guest is
usually useful, and there is no risk of corrupting data, so don't let
the upcoming image locking feature limit this use case.

Signed-off-by: Fam Zheng <address@hidden>
---
 qemu-img.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/qemu-img.c b/qemu-img.c
index afcd51f..b2f4077 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -679,6 +679,10 @@ static int img_check(int argc, char **argv)
             break;
         }
     }
+
+    if (!(flags & BDRV_O_RDWR)) {
+        flags |= BDRV_O_SHARE_RW;
+    }
     if (optind != argc - 1) {
         error_exit("Expecting one image file name");
     }
@@ -1231,6 +1235,7 @@ static int img_compare(int argc, char **argv)
         goto out3;
     }
 
+    flags |= BDRV_O_SHARE_RW;
     blk1 = img_open(image_opts, filename1, fmt1, flags, writethrough, quiet);
     if (!blk1) {
         ret = 2;
@@ -2279,7 +2284,8 @@ static ImageInfoList *collect_image_info_list(bool 
image_opts,
         g_hash_table_insert(filenames, (gpointer)filename, NULL);
 
         blk = img_open(image_opts, filename, fmt,
-                       BDRV_O_NO_BACKING | BDRV_O_NO_IO, false, false);
+                       BDRV_O_NO_BACKING | BDRV_O_NO_IO | BDRV_O_SHARE_RW,
+                       false, false);
         if (!blk) {
             goto err;
         }
@@ -2605,7 +2611,7 @@ static int img_map(int argc, char **argv)
         return 1;
     }
 
-    blk = img_open(image_opts, filename, fmt, 0, false, false);
+    blk = img_open(image_opts, filename, fmt, BDRV_O_SHARE_RW, false, false);
     if (!blk) {
         return 1;
     }
-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]