On 11/24/2014 02:43 AM, Max Reitz wrote: > When using a relative backing file name, qemu needs to know the > directory of the top image file. For JSON filenames, such a directory > cannot be easily determined (e.g. how do you determine the directory of > a qcow2 BDS directly on top of a quorum BDS?). Therefore, do not allow > relative filenames for the backing file of BDSs only having a JSON > filename. > > Furthermore, BDS::exact_filename should be used whenever possible. If > BDS::filename is not equal to BDS::exact_filename, the former will > always be a JSON object. > > Signed-off-by: Max Reitz <mre...@redhat.com> > --- > block.c | 27 +++++++++++++++++++++------ > block/qapi.c | 7 ++++++- > include/block/block.h | 5 +++-- > 3 files changed, 30 insertions(+), 9 deletions(-) > > diff --git a/block.c b/block.c > index 0c1be37..a0cddcd 100644 > --- a/block.c > +++ b/block.c > @@ -305,19 +305,28 @@ void path_combine(char *dest, int dest_size, > > void bdrv_get_full_backing_filename_from_filename(const char *backed, > const char *backing, > - char *dest, size_t sz) > + char *dest, size_t sz, > + Error **errp) > { > - if (backing[0] == '\0' || path_has_protocol(backing)) { > + if (backing[0] == '\0' || path_has_protocol(backing) || > + path_is_absolute(backing)) > + {
checkpatch.pl didn't complain about this? The { should be on the previous line. With that fixed, Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature