ping
On Fri 29 Jun 2018 01:36:58 PM CEST, Alberto Garcia wrote:
> Hi everyone,
>
> this is part of the blockdev-reopen work that I'm doing, but since
> I'll be away during most of July I thought that I could send already a
> couple of patches that I think are ready and don't need anything else
> from the rest of the series.
>
> There's two main fixes here:
>
> 1) bs->options are not kept up to date after an image is reopened
> and no longer reflect its state.
>
> 2) bs->options and bs->explicit_options also contain the options of
> a BDS's children, so there's data that is duplicated and will be
> inconsistent as soon as you change the children's options
> directly.
>
> The fix for (2) involves removing all children options from both
> QDicts. In the cases of node name references ("backing": "node-name")
> those remain in the QDict (they're technically parent options). I
> think we don't really need them and it should be possible to get rid
> of them, but it's a little more complicated (we need them during
> bdrv_reopen() to ensure that the user didn't try to change any of
> them).
>
> Regards,
>
> Berto
>
> Alberto Garcia (5):
> qdict: Make qdict_extract_subqdict() accept dst = NULL
> block: Remove children options from bs->{options,explicit_options}
> block: Simplify bdrv_reopen_abort()
> block: Update bs->options if bdrv_reopen() succeeds
> block: Simplify append_open_options()
>
> block.c | 42 +++++++++++++++++++++++++++++++-----------
> qobject/block-qdict.c | 11 ++++++++---
> 2 files changed, 39 insertions(+), 14 deletions(-)
>
> --
> 2.11.0