mbox series

[v4,0/6] Allow changing bs->file on reopen

Message ID cover.1616000692.git.berto@igalia.com
Headers show
Series Allow changing bs->file on reopen | expand

Message

Alberto Garcia March 17, 2021, 5:15 p.m. UTC
Based-on: <20210317143529.615584-1-vsementsov@virtuozzo.com>

Hello,

this is the same as v3, but rebased on top of Vladimir's "block:
update graph permissions update v3", which you can get here:

git: https://src.openvz.org/scm/~vsementsov/qemu.git
tag: up-block-topologic-perm-v3

Tip: you may find it easier to review patch 4 if you use 'git diff -w'
since a big part of the changes that you see in
qmp_x_blockdev_reopen() are just indentation changes.

Berto

v4:
- Rebase on top of version 3 of Vladimir's branch
v3: https://lists.gnu.org/archive/html/qemu-block/2021-03/msg00553.html
v2: https://lists.gnu.org/archive/html/qemu-block/2021-02/msg00623.html
v1: https://lists.gnu.org/archive/html/qemu-block/2021-01/msg00437.html

Output of git backport-diff against v3:

Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/6:[----] [--] 'block: Add bdrv_reopen_queue_free()'
002/6:[0018] [FC] 'block: Allow changing bs->file on reopen'
003/6:[----] [--] 'iotests: Test replacing files with x-blockdev-reopen'
004/6:[0071] [FC] 'block: Support multiple reopening with x-blockdev-reopen'
005/6:[----] [--] 'iotests: Test reopening multiple devices at the same time'
006/6:[----] [-C] 'block: Make blockdev-reopen stable API'

Alberto Garcia (6):
  block: Add bdrv_reopen_queue_free()
  block: Allow changing bs->file on reopen
  iotests: Test replacing files with x-blockdev-reopen
  block: Support multiple reopening with x-blockdev-reopen
  iotests: Test reopening multiple devices at the same time
  block: Make blockdev-reopen stable API

 qapi/block-core.json       |  24 ++---
 include/block/block.h      |   2 +
 block.c                    | 135 ++++++++++++++++----------
 blockdev.c                 |  78 +++++++++------
 tests/qemu-iotests/155     |   9 +-
 tests/qemu-iotests/165     |   4 +-
 tests/qemu-iotests/245     | 190 +++++++++++++++++++++++++++++++++----
 tests/qemu-iotests/245.out |  11 ++-
 tests/qemu-iotests/248     |   4 +-
 tests/qemu-iotests/248.out |   2 +-
 tests/qemu-iotests/296     |  11 ++-
 tests/qemu-iotests/298     |   4 +-
 12 files changed, 351 insertions(+), 123 deletions(-)

Comments

Vladimir Sementsov-Ogievskiy May 14, 2021, 3:53 p.m. UTC | #1
Hi Alberto!

What are your plans for v5? I'm now finishing a new series which makes backup-top filter public, and I want to base it on your series (otherwise I can't add a test).

17.03.2021 20:15, Alberto Garcia wrote:
> Based-on: <20210317143529.615584-1-vsementsov@virtuozzo.com>
> 
> Hello,
> 
> this is the same as v3, but rebased on top of Vladimir's "block:
> update graph permissions update v3", which you can get here:
> 
> git: https://src.openvz.org/scm/~vsementsov/qemu.git
> tag: up-block-topologic-perm-v3
> 
> Tip: you may find it easier to review patch 4 if you use 'git diff -w'
> since a big part of the changes that you see in
> qmp_x_blockdev_reopen() are just indentation changes.
> 
> Berto
> 
> v4:
> - Rebase on top of version 3 of Vladimir's branch
> v3: https://lists.gnu.org/archive/html/qemu-block/2021-03/msg00553.html
> v2: https://lists.gnu.org/archive/html/qemu-block/2021-02/msg00623.html
> v1: https://lists.gnu.org/archive/html/qemu-block/2021-01/msg00437.html
> 
> Output of git backport-diff against v3:
> 
> Key:
> [----] : patches are identical
> [####] : number of functional differences between upstream/downstream patch
> [down] : patch is downstream-only
> The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
> 
> 001/6:[----] [--] 'block: Add bdrv_reopen_queue_free()'
> 002/6:[0018] [FC] 'block: Allow changing bs->file on reopen'
> 003/6:[----] [--] 'iotests: Test replacing files with x-blockdev-reopen'
> 004/6:[0071] [FC] 'block: Support multiple reopening with x-blockdev-reopen'
> 005/6:[----] [--] 'iotests: Test reopening multiple devices at the same time'
> 006/6:[----] [-C] 'block: Make blockdev-reopen stable API'
> 
> Alberto Garcia (6):
>    block: Add bdrv_reopen_queue_free()
>    block: Allow changing bs->file on reopen
>    iotests: Test replacing files with x-blockdev-reopen
>    block: Support multiple reopening with x-blockdev-reopen
>    iotests: Test reopening multiple devices at the same time
>    block: Make blockdev-reopen stable API
> 
>   qapi/block-core.json       |  24 ++---
>   include/block/block.h      |   2 +
>   block.c                    | 135 ++++++++++++++++----------
>   blockdev.c                 |  78 +++++++++------
>   tests/qemu-iotests/155     |   9 +-
>   tests/qemu-iotests/165     |   4 +-
>   tests/qemu-iotests/245     | 190 +++++++++++++++++++++++++++++++++----
>   tests/qemu-iotests/245.out |  11 ++-
>   tests/qemu-iotests/248     |   4 +-
>   tests/qemu-iotests/248.out |   2 +-
>   tests/qemu-iotests/296     |  11 ++-
>   tests/qemu-iotests/298     |   4 +-
>   12 files changed, 351 insertions(+), 123 deletions(-)
>
Kevin Wolf June 9, 2021, 3:53 p.m. UTC | #2
Am 14.05.2021 um 17:53 hat Vladimir Sementsov-Ogievskiy geschrieben:
> Hi Alberto!
> 
> What are your plans for v5? I'm now finishing a new series which makes
> backup-top filter public, and I want to base it on your series
> (otherwise I can't add a test).

Berto, where are we with this? I see that Vladimir picked up one or two
patches for his series, but I think we still need a v5 at least for the
rest?

If you can't find the time, should someone else pick up all patches?

Kevin

> 17.03.2021 20:15, Alberto Garcia wrote:
> > Based-on: <20210317143529.615584-1-vsementsov@virtuozzo.com>
> > 
> > Hello,
> > 
> > this is the same as v3, but rebased on top of Vladimir's "block:
> > update graph permissions update v3", which you can get here:
> > 
> > git: https://src.openvz.org/scm/~vsementsov/qemu.git
> > tag: up-block-topologic-perm-v3
> > 
> > Tip: you may find it easier to review patch 4 if you use 'git diff -w'
> > since a big part of the changes that you see in
> > qmp_x_blockdev_reopen() are just indentation changes.
> > 
> > Berto
> > 
> > v4:
> > - Rebase on top of version 3 of Vladimir's branch
> > v3: https://lists.gnu.org/archive/html/qemu-block/2021-03/msg00553.html
> > v2: https://lists.gnu.org/archive/html/qemu-block/2021-02/msg00623.html
> > v1: https://lists.gnu.org/archive/html/qemu-block/2021-01/msg00437.html
> > 
> > Output of git backport-diff against v3:
> > 
> > Key:
> > [----] : patches are identical
> > [####] : number of functional differences between upstream/downstream patch
> > [down] : patch is downstream-only
> > The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
> > 
> > 001/6:[----] [--] 'block: Add bdrv_reopen_queue_free()'
> > 002/6:[0018] [FC] 'block: Allow changing bs->file on reopen'
> > 003/6:[----] [--] 'iotests: Test replacing files with x-blockdev-reopen'
> > 004/6:[0071] [FC] 'block: Support multiple reopening with x-blockdev-reopen'
> > 005/6:[----] [--] 'iotests: Test reopening multiple devices at the same time'
> > 006/6:[----] [-C] 'block: Make blockdev-reopen stable API'
> > 
> > Alberto Garcia (6):
> >    block: Add bdrv_reopen_queue_free()
> >    block: Allow changing bs->file on reopen
> >    iotests: Test replacing files with x-blockdev-reopen
> >    block: Support multiple reopening with x-blockdev-reopen
> >    iotests: Test reopening multiple devices at the same time
> >    block: Make blockdev-reopen stable API
> > 
> >   qapi/block-core.json       |  24 ++---
> >   include/block/block.h      |   2 +
> >   block.c                    | 135 ++++++++++++++++----------
> >   blockdev.c                 |  78 +++++++++------
> >   tests/qemu-iotests/155     |   9 +-
> >   tests/qemu-iotests/165     |   4 +-
> >   tests/qemu-iotests/245     | 190 +++++++++++++++++++++++++++++++++----
> >   tests/qemu-iotests/245.out |  11 ++-
> >   tests/qemu-iotests/248     |   4 +-
> >   tests/qemu-iotests/248.out |   2 +-
> >   tests/qemu-iotests/296     |  11 ++-
> >   tests/qemu-iotests/298     |   4 +-
> >   12 files changed, 351 insertions(+), 123 deletions(-)
> > 
> 
> 
> -- 
> Best regards,
> Vladimir
>
Vladimir Sementsov-Ogievskiy June 9, 2021, 4:40 p.m. UTC | #3
09.06.2021 18:53, Kevin Wolf wrote:
> Am 14.05.2021 um 17:53 hat Vladimir Sementsov-Ogievskiy geschrieben:
>> Hi Alberto!
>>
>> What are your plans for v5? I'm now finishing a new series which makes
>> backup-top filter public, and I want to base it on your series
>> (otherwise I can't add a test).
> 
> Berto, where are we with this? I see that Vladimir picked up one or two
> patches for his series, but I think we still need a v5 at least for the
> rest?
> 
> If you can't find the time, should someone else pick up all patches?
> 
> Kevin

My "[PATCH v5 0/9] Allow changing bs->file on reopen" supersedes the "subject" part of the series. I think we now should start from taking it. Hmm, and I should check, does it conflict with recently merged block-permission-folloup and with beginning of "[PATCH v4 00/35] block: publish backup-top filter" which is already almost reviewed by Max and should land soon I hope (ohh, seems I should issue v5 for python conflictes).

So, I propose the following plan:

1. I'll rebase and send "block: publish backup-top filter" series today-tomorrow. It's big, and mostly reviewed, let's not lose r-bs by rebases.

2. I'll rebase and send if needed (if it conflicts with master and/or [1]) "[PATCH v5 0/9] Allow changing bs->file on reopen"

3. Then we'll decide what to do with the rest. Finally, I can take it if I have some time (the head is spinning from the number of tasks ;)

I also think that we can drop x- prefix even without supporting of multiple reopen, and implement it later as an option. QAPI interface is powerful enough for such enhancements.

> 
>> 17.03.2021 20:15, Alberto Garcia wrote:
>>> Based-on: <20210317143529.615584-1-vsementsov@virtuozzo.com>
>>>
>>> Hello,
>>>
>>> this is the same as v3, but rebased on top of Vladimir's "block:
>>> update graph permissions update v3", which you can get here:
>>>
>>> git: https://src.openvz.org/scm/~vsementsov/qemu.git
>>> tag: up-block-topologic-perm-v3
>>>
>>> Tip: you may find it easier to review patch 4 if you use 'git diff -w'
>>> since a big part of the changes that you see in
>>> qmp_x_blockdev_reopen() are just indentation changes.
>>>
>>> Berto
>>>
>>> v4:
>>> - Rebase on top of version 3 of Vladimir's branch
>>> v3: https://lists.gnu.org/archive/html/qemu-block/2021-03/msg00553.html
>>> v2: https://lists.gnu.org/archive/html/qemu-block/2021-02/msg00623.html
>>> v1: https://lists.gnu.org/archive/html/qemu-block/2021-01/msg00437.html
>>>
>>> Output of git backport-diff against v3:
>>>
>>> Key:
>>> [----] : patches are identical
>>> [####] : number of functional differences between upstream/downstream patch
>>> [down] : patch is downstream-only
>>> The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
>>>
>>> 001/6:[----] [--] 'block: Add bdrv_reopen_queue_free()'
>>> 002/6:[0018] [FC] 'block: Allow changing bs->file on reopen'
>>> 003/6:[----] [--] 'iotests: Test replacing files with x-blockdev-reopen'
>>> 004/6:[0071] [FC] 'block: Support multiple reopening with x-blockdev-reopen'
>>> 005/6:[----] [--] 'iotests: Test reopening multiple devices at the same time'
>>> 006/6:[----] [-C] 'block: Make blockdev-reopen stable API'
>>>
>>> Alberto Garcia (6):
>>>     block: Add bdrv_reopen_queue_free()
>>>     block: Allow changing bs->file on reopen
>>>     iotests: Test replacing files with x-blockdev-reopen
>>>     block: Support multiple reopening with x-blockdev-reopen
>>>     iotests: Test reopening multiple devices at the same time
>>>     block: Make blockdev-reopen stable API
>>>
>>>    qapi/block-core.json       |  24 ++---
>>>    include/block/block.h      |   2 +
>>>    block.c                    | 135 ++++++++++++++++----------
>>>    blockdev.c                 |  78 +++++++++------
>>>    tests/qemu-iotests/155     |   9 +-
>>>    tests/qemu-iotests/165     |   4 +-
>>>    tests/qemu-iotests/245     | 190 +++++++++++++++++++++++++++++++++----
>>>    tests/qemu-iotests/245.out |  11 ++-
>>>    tests/qemu-iotests/248     |   4 +-
>>>    tests/qemu-iotests/248.out |   2 +-
>>>    tests/qemu-iotests/296     |  11 ++-
>>>    tests/qemu-iotests/298     |   4 +-
>>>    12 files changed, 351 insertions(+), 123 deletions(-)
>>>
>>
>>
>> -- 
>> Best regards,
>> Vladimir
>>
>
Vladimir Sementsov-Ogievskiy June 10, 2021, 12:10 p.m. UTC | #4
09.06.2021 19:40, Vladimir Sementsov-Ogievskiy wrote:
> 09.06.2021 18:53, Kevin Wolf wrote:
>> Am 14.05.2021 um 17:53 hat Vladimir Sementsov-Ogievskiy geschrieben:
>>> Hi Alberto!
>>>
>>> What are your plans for v5? I'm now finishing a new series which makes
>>> backup-top filter public, and I want to base it on your series
>>> (otherwise I can't add a test).
>>
>> Berto, where are we with this? I see that Vladimir picked up one or two
>> patches for his series, but I think we still need a v5 at least for the
>> rest?
>>
>> If you can't find the time, should someone else pick up all patches?
>>
>> Kevin
> 
> My "[PATCH v5 0/9] Allow changing bs->file on reopen" supersedes the "subject" part of the series. I think we now should start from taking it. Hmm, and I should check, does it conflict with recently merged block-permission-folloup and with beginning of "[PATCH v4 00/35] block: publish backup-top filter" which is already almost reviewed by Max and should land soon I hope (ohh, seems I should issue v5 for python conflictes).
> 
> So, I propose the following plan:
> 
> 1. I'll rebase and send "block: publish backup-top filter" series today-tomorrow. It's big, and mostly reviewed, let's not lose r-bs by rebases.
> 
> 2. I'll rebase and send if needed (if it conflicts with master and/or [1]) "[PATCH v5 0/9] Allow changing bs->file on reopen"
> 
> 3. Then we'll decide what to do with the rest. Finally, I can take it if I have some time (the head is spinning from the number of tasks ;)
> 
> I also think that we can drop x- prefix even without supporting of multiple reopen, and implement it later as an option. QAPI interface is powerful enough for such enhancements.
> 

[1] and [2] done, patches sent. Finally, "[PATCH v6 0/9] Allow changing bs->file on reopen" depends only on two first simple patches of "[PATCH v5 00/35] block: publish backup-top filter", so the series may go in parallel.