Skip to content

Commit

Permalink
block: Distinguish paths in *_format_default_perms
Browse files Browse the repository at this point in the history
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 <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200513110544.176672-16-mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
  • Loading branch information
XanClic authored and kevmw committed May 18, 2020
1 parent 4348355 commit 33f2663
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions block.c
Expand Up @@ -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. */
Expand All @@ -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)
Expand Down

0 comments on commit 33f2663

Please sign in to comment.