]> git.ipfire.org Git - thirdparty/qemu.git/commit - block.c
block: check full backing filename when searching protocol filenames
authorJeff Cody <jcody@redhat.com>
Thu, 26 Jan 2017 01:08:20 +0000 (20:08 -0500)
committerMax Reitz <mreitz@redhat.com>
Sat, 11 Feb 2017 23:47:42 +0000 (00:47 +0100)
commit418661e0324c1c419552cf24bd4447292e884bdd
tree0e9f36bf26f64e6734975c300f2c1efd388321d2
parent4545d4f4af8b29ba3b38dfb74d6f45342e15a62d
block: check full backing filename when searching protocol filenames

In bdrv_find_backing_image(), if we are searching an image for a backing
file that contains a protocol, we currently only compare unmodified
paths.

However, some management software will change the backing filename to be
a relative filename in a path.  QEMU is able to handle this fine,
because internally it will use path_combine to put together the full
protocol URI.

However, this can lead to an inability to match an image during a QAPI
command that needs to use bdrv_find_backing_image() to find the image,
when it is searched by the full URI.

When searching for a protocol filename, if the straight comparison
fails, this patch will also compare against the full backing filename to
see if that is a match.

Signed-off-by: Jeff Cody <jcody@redhat.com>
Message-id: c2d025adca8a2b665189e6f4cf080f44126d0b6b.1485392617.git.jcody@redhat.com
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
block.c