Note that this is only "subject" part of original Alberto's
"[PATCH v4 0/6] Allow changing bs->file on reopen" which also included
multiple reopen and dropping x- prefix of reopen together with some
refactoring.
v6: rebased
08: changed error message in test
09: somehow, now '.' are spread in test output
Now, v6 based on two first simple patches of
  "[PATCH v5 00/35] block: publish backup-top filter"
Based-on: <20210610112618.127378-1-vsementsov@virtuozzo.com>
So, if this goes first, just take first two patches of
"[PATCH v5 00/35] block: publish backup-top filter" which are already
reviewed by Max.
v5:
1-7: new
8: changed a lot
9: unchanged
Alberto Garcia (2):
  block: Allow changing bs->file on reopen
  iotests: Test replacing files with x-blockdev-reopen
Vladimir Sementsov-Ogievskiy (7):
  block: introduce bdrv_remove_file_or_backing_child()
  block: introduce bdrv_set_file_or_backing_noperm()
  block: bdrv_reopen_parse_backing(): don't check aio context
  block: bdrv_reopen_parse_backing(): don't check frozen child
  block: bdrv_reopen_parse_backing(): simplify handling implicit filters
  block: move supports_backing check to
    bdrv_set_file_or_backing_noperm()
  block: BDRVReopenState: drop replace_backing_bs field
 include/block/block.h            |   2 +-
 block.c                          | 286 ++++++++++++++++---------------
 tests/unit/test-bdrv-drain.c     |   1 +
 tests/unit/test-bdrv-graph-mod.c |   1 +
 tests/qemu-iotests/245           | 140 +++++++++++++--
 tests/qemu-iotests/245.out       |  11 +-
 6 files changed, 287 insertions(+), 154 deletions(-)
-- 
2.29.2