summaryrefslogtreecommitdiffstats
path: root/tests/unit
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy2021-04-28 17:17:49 +0200
committerKevin Wolf2021-04-30 12:27:48 +0200
commit2272edcfffba659d0b49b98a9d5e65783b2c4e53 (patch)
tree74e31319c858cb1efd8780c19bd10b86f26bbec7 /tests/unit
parentblock: split out bdrv_replace_node_noperm() (diff)
downloadqemu-2272edcfffba659d0b49b98a9d5e65783b2c4e53.tar.gz
qemu-2272edcfffba659d0b49b98a9d5e65783b2c4e53.tar.xz
qemu-2272edcfffba659d0b49b98a9d5e65783b2c4e53.zip
block: adapt bdrv_append() for inserting filters
bdrv_append is not very good for inserting filters: it does extra permission update as part of bdrv_set_backing_hd(). During this update filter may conflict with other parents of top_bs. Instead, let's first do all graph modifications and after it update permissions. append-greedy-filter test-case in test-bdrv-graph-mod is now works, so move it out of debug option. Note: bdrv_append() is still only works for backing-child based filters. It's something to improve later. Note2: we use the fact that bdrv_append() is used to append new nodes, without backing child, so we don't need frozen check and inherits_from logic from bdrv_set_backing_hd(). Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Message-Id: <20210428151804.439460-22-vsementsov@virtuozzo.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/test-bdrv-graph-mod.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/tests/unit/test-bdrv-graph-mod.c b/tests/unit/test-bdrv-graph-mod.c
index 7b3c8b437a..88f25c0cdb 100644
--- a/tests/unit/test-bdrv-graph-mod.c
+++ b/tests/unit/test-bdrv-graph-mod.c
@@ -388,16 +388,6 @@ static void test_append_greedy_filter(void)
int main(int argc, char *argv[])
{
- int i;
- bool debug = false;
-
- for (i = 1; i < argc; i++) {
- if (!strcmp(argv[i], "-d")) {
- debug = true;
- break;
- }
- }
-
bdrv_init();
qemu_init_main_loop(&error_abort);
@@ -410,11 +400,8 @@ int main(int argc, char *argv[])
test_parallel_perm_update);
g_test_add_func("/bdrv-graph-mod/parallel-exclusive-write",
test_parallel_exclusive_write);
-
- if (debug) {
- g_test_add_func("/bdrv-graph-mod/append-greedy-filter",
- test_append_greedy_filter);
- }
+ g_test_add_func("/bdrv-graph-mod/append-greedy-filter",
+ test_append_greedy_filter);
return g_test_run();
}