mbox series

[v5,0/9] Allow changing bs->file on reopen

Message ID 20210515134705.433604-1-vsementsov@virtuozzo.com (mailing list archive)
Headers show
Series Allow changing bs->file on reopen | expand

Message

Vladimir Sementsov-Ogievskiy May 15, 2021, 1:46 p.m. UTC
Hi all!

Alberto, I'm sorry for not consulting with you about sending this.

Actually, I wanted only one patch
"block: Allow changing bs->file on reopen", as I'm going to send another
series based on it. I started to work on updating this one patch it and
it turned into a refactoring series below. So I decided to add you patch
with test cases, for this series to be a complete* v5. I hope you'll
have time to work on the rest of your series on top of this my
suggestion :)

[*], supporting multiple reopen and final publishing x-blockdev-reopen
not included here. Also I didn't address Kevin's comment that we should
have some error-path testing of new feature. Probably I didn't address
some comments on "Allow changing" patch, but it changed so much that
review should start from scratch anyway.

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                          | 287 ++++++++++++++++---------------
 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(+), 155 deletions(-)

Comments

Vladimir Sementsov-Ogievskiy May 15, 2021, 2:20 p.m. UTC | #1
15.05.2021 16:46, Vladimir Sementsov-Ogievskiy wrote:
> Hi all!
> 
> Alberto, I'm sorry for not consulting with you about sending this.
> 
> Actually, I wanted only one patch
> "block: Allow changing bs->file on reopen", as I'm going to send another
> series based on it.

Haha. Actually I need instead a way to insert filter between root device and top block node, which is impossible with reopen, so I probably need qom-set instead, as Kevin said.. Or something new. Anyway, I've done some work, hope it's helpful)

> I started to work on updating this one patch it and
> it turned into a refactoring series below. So I decided to add you patch
> with test cases, for this series to be a complete* v5. I hope you'll
> have time to work on the rest of your series on top of this my
> suggestion :)
> 
> [*], supporting multiple reopen and final publishing x-blockdev-reopen
> not included here. Also I didn't address Kevin's comment that we should
> have some error-path testing of new feature. Probably I didn't address
> some comments on "Allow changing" patch, but it changed so much that
> review should start from scratch anyway.
> 
> 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                          | 287 ++++++++++++++++---------------
>   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(+), 155 deletions(-)
>