From: Alberto Garcia <berto@igalia.com>
To: qemu-devel@nongnu.org
Cc: Alberto Garcia <berto@igalia.com>,
qemu-block@nongnu.org, Kevin Wolf <kwolf@redhat.com>,
Max Reitz <mreitz@redhat.com>
Subject: [Qemu-devel] [PATCH 0/2] Update the inherits_from pointer after stream and commit
Date: Wed, 31 Oct 2018 18:16:36 +0200 [thread overview]
Message-ID: <cover.1541002357.git.berto@igalia.com> (raw)
Hi all,
when you open an image [A] with a few more images on the backing chain
you get something like this:
[E] <- [D] <- [C] <- [B] <- [A]
Here you can go from [A] to [E] by following the bs->backing
pointer. At the same time each one of the backing files has an
'inherits_from' attribute pointing to their parent, so you can go from
[E] to [A] following the inherits_from pointer.
'inherits_from' is used on bdrv_reopen_queue_child() to decide if a
node's children must be reopened together with the parent and inherit
its options.
If some the intermediate nodes are removed (either by block-stream or
by block-commit) you end up with something like this:
[E] <- [A]
In this case we would expect [E] to inherit from [A], however its
inherits_from pointer is NULL and trying to change its options by
reopening [A] with backing.option=value fails.
This patch series fixes this. See each individual patch for more
details.
Regards,
Berto
Alberto Garcia (2):
block: Update BlockDriverState.inherits_from on bdrv_set_backing_hd()
block: Update BlockDriverState.inherits_from on
bdrv_drop_intermediate()
block.c | 37 ++++++++++++
tests/qemu-iotests/161 | 137 +++++++++++++++++++++++++++++++++++++++++++++
tests/qemu-iotests/161.out | 39 +++++++++++++
tests/qemu-iotests/group | 1 +
4 files changed, 214 insertions(+)
create mode 100755 tests/qemu-iotests/161
create mode 100644 tests/qemu-iotests/161.out
--
2.11.0
next reply other threads:[~2018-10-31 16:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-31 16:16 Alberto Garcia [this message]
2018-10-31 16:16 ` [Qemu-devel] [PATCH 1/2] block: Update BlockDriverState.inherits_from on bdrv_set_backing_hd() Alberto Garcia
2018-10-31 16:16 ` [Qemu-devel] [PATCH 2/2] block: Update BlockDriverState.inherits_from on bdrv_drop_intermediate() Alberto Garcia
2018-11-22 16:27 ` [Qemu-devel] [PATCH 0/2] Update the inherits_from pointer after stream and commit Alberto Garcia
2018-11-22 17:52 ` Kevin Wolf
2018-11-22 20:06 ` Alberto Garcia
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1541002357.git.berto@igalia.com \
--to=berto@igalia.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.