]> git.ipfire.org Git - thirdparty/qemu.git/commit - block.c
block: Use bdrv_refresh_filename() to pull
authorMax Reitz <mreitz@redhat.com>
Fri, 1 Feb 2019 19:29:05 +0000 (20:29 +0100)
committerMax Reitz <mreitz@redhat.com>
Mon, 25 Feb 2019 14:11:25 +0000 (15:11 +0100)
commitf30c66ba6e417a07e68ad6e0bc5da27561a3beea
tree4e0339c3e467478b24c6c4e740711394ffa27ba3
parent83c68e149a9365a3db6de751f219ad1d79928462
block: Use bdrv_refresh_filename() to pull

Before this patch, bdrv_refresh_filename() is used in a pushing manner:
Whenever the BDS graph is modified, the parents of the modified edges
are supposed to be updated (recursively upwards).  However, that is
nonviable, considering that we want child changes not to concern
parents.

Also, in the long run we want a pull model anyway: Here, we would have a
bdrv_filename() function which returns a BDS's filename, freshly
constructed.

This patch is an intermediate step.  It adds bdrv_refresh_filename()
calls before every place a BDS.filename value is used.  The only
exceptions are protocol drivers that use their own filename, which
clearly would not profit from refreshing that filename before.

Also, bdrv_get_encrypted_filename() is removed along the way (as a user
of BDS.filename), since it is completely unused.

In turn, all of the calls to bdrv_refresh_filename() before this patch
are removed, because we no longer have to call this function on graph
changes.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-id: 20190201192935.18394-2-mreitz@redhat.com
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
block.c
block/qapi.c
block/raw-format.c
block/replication.c
block/vhdx-log.c
block/vmdk.c
blockdev.c
include/block/block.h
qemu-img.c