mbox series

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

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

Message

Alberto Garcia March 9, 2021, 5:08 p.m. UTC
Based-on: <20201127144522.29991-1-vsementsov@virtuozzo.com>

Hello,

here's the third version of the patches that allow replacing bs->file
using (x-)blockdev-reopen. You can read more details here:

https://lists.gnu.org/archive/html/qemu-block/2021-01/msg00437.html

In summary, the series does three things:

   - Allows replacing bs->file
   - Allows reopening multiple block devices with one single command.
   - Drops the x- prefix from the command name.

This is still depending on Vladimir's "update graph permissions
update" branch.

Regards,

Berto

v3:
- Patch 1: Move bdrv_reopen_queue_free() to a new patch
- Patch 2: Merge bdrv_reopen_parse_backing() and bdrv_reopen_parse_file()
- Patch 3: Add more tests
- Patch 4: Update documentation and fix iotest 296
- Patch 5: Minor updates to iotest 245
- Patch 6: New patch, drop the 'x-' prefix from x-blockdev-reopen

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 v2:

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:[down] 'block: Add bdrv_reopen_queue_free()'
002/6:[0160] [FC] 'block: Allow changing bs->file on reopen'
003/6:[down] 'iotests: Test replacing files with x-blockdev-reopen'
004/6:[0042] [FC] 'block: Support multiple reopening with x-blockdev-reopen'
005/6:[0015] [FC] 'iotests: Test reopening multiple devices at the same time'
006/6:[down] '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                    | 137 ++++++++++++++++----------
 blockdev.c                 |  85 +++++++++--------
 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(+), 132 deletions(-)

Comments

Vladimir Sementsov-Ogievskiy March 15, 2021, 3:19 p.m. UTC | #1
09.03.2021 20:08, Alberto Garcia wrote:
> Based-on: <20201127144522.29991-1-vsementsov@virtuozzo.com>
> 
> Hello,
> 
> here's the third version of the patches that allow replacing bs->file
> using (x-)blockdev-reopen. You can read more details here:
> 
> https://lists.gnu.org/archive/html/qemu-block/2021-01/msg00437.html
> 
> In summary, the series does three things:
> 
>     - Allows replacing bs->file
>     - Allows reopening multiple block devices with one single command.
>     - Drops the x- prefix from the command name.
> 
> This is still depending on Vladimir's "update graph permissions
> update" branch.
> 

I've rebased my series and handled all comments on v2 (except for additional test). Now I have some iotests failing

(028 030 039 040 041 051 056 124 127 129 141 153 155 156 176 185 191 195 200 203 216 222 224 228 240 245 247 255 256 258 260 267 274 281 291 307 309 310 migrate-bitmaps-test)

I'll start handle them today, hope most of the failures is one stupid mistake. But anyway it all doesn't seem feasible to finish before soft freeze (tomorrow)..

> 
> v3:
> - Patch 1: Move bdrv_reopen_queue_free() to a new patch
> - Patch 2: Merge bdrv_reopen_parse_backing() and bdrv_reopen_parse_file()
> - Patch 3: Add more tests
> - Patch 4: Update documentation and fix iotest 296
> - Patch 5: Minor updates to iotest 245
> - Patch 6: New patch, drop the 'x-' prefix from x-blockdev-reopen
> 
> 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 v2:
> 
> 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:[down] 'block: Add bdrv_reopen_queue_free()'
> 002/6:[0160] [FC] 'block: Allow changing bs->file on reopen'
> 003/6:[down] 'iotests: Test replacing files with x-blockdev-reopen'
> 004/6:[0042] [FC] 'block: Support multiple reopening with x-blockdev-reopen'
> 005/6:[0015] [FC] 'iotests: Test reopening multiple devices at the same time'
> 006/6:[down] '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                    | 137 ++++++++++++++++----------
>   blockdev.c                 |  85 +++++++++--------
>   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(+), 132 deletions(-)
>