All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/5] Some bs->options fixes
@ 2018-06-29 11:36 Alberto Garcia
  2018-06-29 11:36 ` [Qemu-devel] [PATCH 1/5] qdict: Make qdict_extract_subqdict() accept dst = NULL Alberto Garcia
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Alberto Garcia @ 2018-06-29 11:36 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-block, Kevin Wolf, Max Reitz, Alberto Garcia

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2018-08-14 14:04 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-29 11:36 [Qemu-devel] [PATCH 0/5] Some bs->options fixes Alberto Garcia
2018-06-29 11:36 ` [Qemu-devel] [PATCH 1/5] qdict: Make qdict_extract_subqdict() accept dst = NULL Alberto Garcia
2018-06-29 11:37 ` [Qemu-devel] [PATCH 2/5] block: Remove children options from bs->{options, explicit_options} Alberto Garcia
2018-06-29 11:37 ` [Qemu-devel] [PATCH 3/5] block: Simplify bdrv_reopen_abort() Alberto Garcia
2018-08-14  9:07   ` Kevin Wolf
2018-08-14 10:15     ` Alberto Garcia
2018-08-14 10:59       ` Kevin Wolf
2018-06-29 11:37 ` [Qemu-devel] [PATCH 4/5] block: Update bs->options if bdrv_reopen() succeeds Alberto Garcia
2018-06-29 11:37 ` [Qemu-devel] [PATCH 5/5] block: Simplify append_open_options() Alberto Garcia
2018-08-14  9:17   ` Kevin Wolf
2018-08-14 10:52     ` Alberto Garcia
2018-08-14 11:14       ` Kevin Wolf
2018-08-14 11:48         ` Alberto Garcia
2018-08-14 12:08           ` Kevin Wolf
2018-08-14 13:15             ` Alberto Garcia
2018-08-13 14:36 ` [Qemu-devel] [PATCH 0/5] Some bs->options fixes Alberto Garcia
2018-08-14 14:04 ` Kevin Wolf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.