diff options
author | Kevin Wolf <kwolf@redhat.com> | 2017-01-20 17:07:26 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2017-02-28 20:40:36 +0100 |
commit | 6d0eb64d5c6d57017c52a4f36ccae1db79215ee1 (patch) | |
tree | ac53990a1e31ff6232f31cb8c9d3a322e960fb4b /block/commit.c | |
parent | 981776b34875ef75b218a338e1831b8fc65ea6bd (diff) |
block: Add permissions to blk_new()
We want every user to be specific about the permissions it needs, so
we'll pass the initial permissions as parameters to blk_new(). A user
only needs to call blk_set_perm() if it wants to change the permissions
after the fact.
The permissions are stored in the BlockBackend and applied whenever a
BlockDriverState should be attached in blk_insert_bs().
This does not include actually choosing the right set of permissions
everywhere yet. Instead, the usual FIXME comment is added to each place
and will be addressed in individual patches.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Acked-by: Fam Zheng <famz@redhat.com>
Diffstat (limited to 'block/commit.c')
-rw-r--r-- | block/commit.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/block/commit.c b/block/commit.c index c284e8535d..1897e982c5 100644 --- a/block/commit.c +++ b/block/commit.c @@ -275,10 +275,12 @@ void commit_start(const char *job_id, BlockDriverState *bs, block_job_add_bdrv(&s->common, overlay_bs); } - s->base = blk_new(); + /* FIXME Use real permissions */ + s->base = blk_new(0, BLK_PERM_ALL); blk_insert_bs(s->base, base); - s->top = blk_new(); + /* FIXME Use real permissions */ + s->top = blk_new(0, BLK_PERM_ALL); blk_insert_bs(s->top, top); s->active = bs; @@ -328,10 +330,12 @@ int bdrv_commit(BlockDriverState *bs) } } - src = blk_new(); + /* FIXME Use real permissions */ + src = blk_new(0, BLK_PERM_ALL); blk_insert_bs(src, bs); - backing = blk_new(); + /* FIXME Use real permissions */ + backing = blk_new(0, BLK_PERM_ALL); blk_insert_bs(backing, bs->backing->bs); length = blk_getlength(src); |