[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 14/33] block: Distinguish paths in *_format_default_perms
From: |
Max Reitz |
Subject: |
[PATCH v3 14/33] block: Distinguish paths in *_format_default_perms |
Date: |
Tue, 18 Feb 2020 13:42:23 +0100 |
bdrv_format_default_perms() has one code path for backing files, and one
for storage files. We want to pull them out into own functions, so
make sure they are completely distinct before so the next patches will
be a bit cleaner.
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
block.c | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/block.c b/block.c
index 1d33f58ff8..982785b15a 100644
--- a/block.c
+++ b/block.c
@@ -2331,6 +2331,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. */
@@ -2347,14 +2354,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)
--
2.24.1
- Re: [PATCH v3 04/33] block: Add BdrvChildRole to BdrvChild, (continued)
- [PATCH v3 02/33] block: Rename BdrvChildRole to BdrvChildClass, Max Reitz, 2020/02/18
- [PATCH v3 06/33] block: Pass BdrvChildRole to .inherit_options(), Max Reitz, 2020/02/18
- [PATCH v3 07/33] block: Pass parent_is_format to .inherit_options(), Max Reitz, 2020/02/18
- [PATCH v3 08/33] block: Rename bdrv_inherited_options(), Max Reitz, 2020/02/18
- [PATCH v3 10/33] block: Use bdrv_inherited_options(), Max Reitz, 2020/02/18
- [PATCH v3 09/33] block: Add generic bdrv_inherited_options(), Max Reitz, 2020/02/18
- [PATCH v3 12/33] block: Unify bdrv_child_cb_detach(), Max Reitz, 2020/02/18
- [PATCH v3 11/33] block: Unify bdrv_child_cb_attach(), Max Reitz, 2020/02/18
- [PATCH v3 13/33] block: Add child_of_bds, Max Reitz, 2020/02/18
- [PATCH v3 14/33] block: Distinguish paths in *_format_default_perms,
Max Reitz <=
- [PATCH v3 15/33] block: Pull out bdrv_default_perms_for_backing(), Max Reitz, 2020/02/18
- [PATCH v3 17/33] block: Split bdrv_default_perms_for_storage(), Max Reitz, 2020/02/18
- [PATCH v3 18/33] block: Add bdrv_default_perms(), Max Reitz, 2020/02/18
- [PATCH v3 16/33] block: Pull out bdrv_default_perms_for_storage(), Max Reitz, 2020/02/18
- [PATCH v3 19/33] raw-format: Split raw_read_options(), Max Reitz, 2020/02/18
- [PATCH v3 20/33] block: Switch child_format users to child_of_bds, Max Reitz, 2020/02/18
- [PATCH v3 21/33] block: Drop child_format, Max Reitz, 2020/02/18
- [PATCH v3 22/33] block: Make backing files child_of_bds children, Max Reitz, 2020/02/18
- [PATCH v3 24/33] block: Make format drivers use child_of_bds, Max Reitz, 2020/02/18