This patch fixed the following bug: https://bugzilla.redhat.com/show_bug.cgi?id=1084302 . path_combine can not calculate the correct full path name for backing_file. Such as: create a snapshot chain: sn2->sn1->$BASE_IMG backing file is : /home/wookpecker/img.qcow2 sn1 : /home/woodpecker/tmp/sn1 sn2 : /home/woodpecker/tmp/sn2 when create sn2, path_combine can not got a correct path for $BASE_IMG.
Signed-off-by: Jun Li <junm...@gmail.com> --- block.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block.c b/block.c index 990a754..2519f68 100644 --- a/block.c +++ b/block.c @@ -307,7 +307,7 @@ void bdrv_get_full_backing_filename(BlockDriverState *bs, char *dest, size_t sz) if (bs->backing_file[0] == '\0' || path_has_protocol(bs->backing_file)) { pstrcpy(dest, sz, bs->backing_file); } else { - path_combine(dest, sz, bs->filename, bs->backing_file); + realpath(bs->backing_file, dest); } } -- 1.8.3.1