]> Git Repo - qemu.git/commitdiff
block: Distinguish paths in *_format_default_perms
authorMax Reitz <[email protected]>
Wed, 13 May 2020 11:05:25 +0000 (13:05 +0200)
committerKevin Wolf <[email protected]>
Mon, 18 May 2020 17:05:25 +0000 (19:05 +0200)
bdrv_format_default_perms() has one code path for backing files, and one
for storage files.  We want to pull them out into their own functions,
so make sure they are completely distinct before so the next patches
will be a bit cleaner.

Signed-off-by: Max Reitz <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Message-Id: <20200513110544[email protected]>
Signed-off-by: Kevin Wolf <[email protected]>
block.c

diff --git a/block.c b/block.c
index be9bfa9d463a06f7c86f273fad5438283a6aeefe..b3e7ae70c7514ac2243df9aca0923704662d2fee 100644 (file)
--- a/block.c
+++ b/block.c
@@ -2497,6 +2497,13 @@ void bdrv_format_default_perms(BlockDriverState *bs, BdrvChild *c,
             perm |= BLK_PERM_CONSISTENT_READ;
         }
         shared &= ~(BLK_PERM_WRITE | BLK_PERM_RESIZE);
+
+        if (bs->open_flags & BDRV_O_INACTIVE) {
+            shared |= BLK_PERM_WRITE | BLK_PERM_RESIZE;
+        }
+
+        *nperm = perm;
+        *nshared = shared;
     } else {
         /* We want consistent read from backing files if the parent needs it.
          * No other operations are performed on backing files. */
@@ -2513,14 +2520,14 @@ void bdrv_format_default_perms(BlockDriverState *bs, BdrvChild *c,
 
         shared |= BLK_PERM_CONSISTENT_READ | BLK_PERM_GRAPH_MOD |
                   BLK_PERM_WRITE_UNCHANGED;
-    }
 
-    if (bs->open_flags & BDRV_O_INACTIVE) {
-        shared |= BLK_PERM_WRITE | BLK_PERM_RESIZE;
-    }
+        if (bs->open_flags & BDRV_O_INACTIVE) {
+            shared |= BLK_PERM_WRITE | BLK_PERM_RESIZE;
+        }
 
-    *nperm = perm;
-    *nshared = shared;
+        *nperm = perm;
+        *nshared = shared;
+    }
 }
 
 uint64_t bdrv_qapi_perm_to_blk_perm(BlockPermission qapi_perm)
This page took 0.035533 seconds and 4 git commands to generate.