[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 22/58] block: refactor bdrv_remove_file_or_backing_child to bdrv_r
From: |
Kevin Wolf |
Subject: |
[PULL 22/58] block: refactor bdrv_remove_file_or_backing_child to bdrv_remove_child |
Date: |
Thu, 27 Oct 2022 20:31:10 +0200 |
From: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Now the function can remove any child, so give it more common name.
Drop assertions and drop bs argument which becomes unused. Function
would be reused in a further commit.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20220726201134.924743-16-vsementsov@yandex-team.ru>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block.c | 27 +++++++++------------------
1 file changed, 9 insertions(+), 18 deletions(-)
diff --git a/block.c b/block.c
index ed11a421b0..2d74bfe665 100644
--- a/block.c
+++ b/block.c
@@ -92,9 +92,7 @@ static bool bdrv_recurse_has_child(BlockDriverState *bs,
static void bdrv_replace_child_noperm(BdrvChild *child,
BlockDriverState *new_bs);
-static void bdrv_remove_file_or_backing_child(BlockDriverState *bs,
- BdrvChild *child,
- Transaction *tran);
+static void bdrv_remove_child(BdrvChild *child, Transaction *tran);
static void bdrv_remove_filter_or_cow_child(BlockDriverState *bs,
Transaction *tran);
@@ -3342,7 +3340,7 @@ static int
bdrv_set_file_or_backing_noperm(BlockDriverState *parent_bs,
if (child) {
bdrv_unset_inherits_from(parent_bs, child, tran);
- bdrv_remove_file_or_backing_child(parent_bs, child, tran);
+ bdrv_remove_child(child, tran);
}
if (!child_bs) {
@@ -5023,26 +5021,19 @@ static bool should_update_child(BdrvChild *c,
BlockDriverState *to)
return ret;
}
-static void bdrv_remove_filter_or_cow_child_commit(void *opaque)
+static void bdrv_remove_child_commit(void *opaque)
{
GLOBAL_STATE_CODE();
bdrv_child_free(opaque);
}
-static TransactionActionDrv bdrv_remove_filter_or_cow_child_drv = {
- .commit = bdrv_remove_filter_or_cow_child_commit,
+static TransactionActionDrv bdrv_remove_child_drv = {
+ .commit = bdrv_remove_child_commit,
};
-/*
- * A function to remove backing or file child of @bs.
- * Function doesn't update permissions, caller is responsible for this.
- */
-static void bdrv_remove_file_or_backing_child(BlockDriverState *bs,
- BdrvChild *child,
- Transaction *tran)
+/* Function doesn't update permissions, caller is responsible for this. */
+static void bdrv_remove_child(BdrvChild *child, Transaction *tran)
{
- assert(child == bs->backing || child == bs->file);
-
if (!child) {
return;
}
@@ -5051,7 +5042,7 @@ static void
bdrv_remove_file_or_backing_child(BlockDriverState *bs,
bdrv_replace_child_tran(child, NULL, tran);
}
- tran_add(tran, &bdrv_remove_filter_or_cow_child_drv, child);
+ tran_add(tran, &bdrv_remove_child_drv, child);
}
/*
@@ -5062,7 +5053,7 @@ static void
bdrv_remove_file_or_backing_child(BlockDriverState *bs,
static void bdrv_remove_filter_or_cow_child(BlockDriverState *bs,
Transaction *tran)
{
- bdrv_remove_file_or_backing_child(bs, bdrv_filter_or_cow_child(bs), tran);
+ bdrv_remove_child(bdrv_filter_or_cow_child(bs), tran);
}
static int bdrv_replace_node_noperm(BlockDriverState *from,
--
2.37.3
- [PULL 08/58] block: BlockDriver: add .filtered_child_is_backing field, (continued)
- [PULL 08/58] block: BlockDriver: add .filtered_child_is_backing field, Kevin Wolf, 2022/10/27
- [PULL 11/58] test-bdrv-graph-mod: update test_parallel_perm_update test case, Kevin Wolf, 2022/10/27
- [PULL 15/58] block/snapshot: stress that we fallback to primary child, Kevin Wolf, 2022/10/27
- [PULL 06/58] block/io_uring: revert "Use io_uring_register_ring_fd() to skip fd operations", Kevin Wolf, 2022/10/27
- [PULL 17/58] Revert "block: Let replace_child_tran keep indirect pointer", Kevin Wolf, 2022/10/27
- [PULL 18/58] Revert "block: Restructure remove_file_or_backing_child()", Kevin Wolf, 2022/10/27
- [PULL 19/58] Revert "block: Pass BdrvChild ** to replace_child_noperm", Kevin Wolf, 2022/10/27
- [PULL 16/58] Revert "block: Let replace_child_noperm free children", Kevin Wolf, 2022/10/27
- [PULL 09/58] block: introduce bdrv_open_file_child() helper, Kevin Wolf, 2022/10/27
- [PULL 21/58] block/snapshot: drop indirection around bdrv_snapshot_fallback_ptr, Kevin Wolf, 2022/10/27
- [PULL 22/58] block: refactor bdrv_remove_file_or_backing_child to bdrv_remove_child,
Kevin Wolf <=
- [PULL 13/58] test-bdrv-graph-mod: fix filters to be filters, Kevin Wolf, 2022/10/27
- [PULL 39/58] coroutine-lock: add missing coroutine_fn annotation to prototypes, Kevin Wolf, 2022/10/27
- [PULL 35/58] block: remove incorrect coroutine_fn annotation, Kevin Wolf, 2022/10/27
- [PULL 25/58] bdrv_change_aio_context: use hash table instead of list of visited nodes, Kevin Wolf, 2022/10/27
- [PULL 24/58] block: use transactions as a replacement of ->{can_}set_aio_context(), Kevin Wolf, 2022/10/27
- [PULL 28/58] block-backend: implement .change_aio_ctx in child_root, Kevin Wolf, 2022/10/27
- [PULL 31/58] block: rename bdrv_child_try_change_aio_context in bdrv_try_change_aio_context, Kevin Wolf, 2022/10/27
- [PULL 30/58] block: remove all unused ->can_set_aio_ctx and ->set_aio_ctx callbacks, Kevin Wolf, 2022/10/27
- [PULL 34/58] backup: remove incorrect coroutine_fn annotation, Kevin Wolf, 2022/10/27
- [PULL 54/58] vdi: switch to *_co_* functions, Kevin Wolf, 2022/10/27