On Wed, 27 Oct 2010, Anthony Liguori wrote: > Signed-off-by: Anthony Liguori <aligu...@us.ibm.com> > > diff --git a/block.c b/block.c > index 1a965b2..00b6f21 100644 > --- a/block.c > +++ b/block.c > @@ -603,10 +603,16 @@ int bdrv_open(BlockDriverState *bs, const char > *filename, int flags, > BlockDriver *back_drv = NULL; > > bs->backing_hd = bdrv_new(""); > - path_combine(backing_filename, sizeof(backing_filename), > - filename, bs->backing_file); > - if (bs->backing_format[0] != '\0') > - back_drv = bdrv_find_format(bs->backing_format); > + back_drv = bdrv_find_protocol(bs->backing_file); > + if (!back_drv) { > + path_combine(backing_filename, sizeof(backing_filename), > + filename, bs->backing_file); > + if (bs->backing_format[0] != '\0') > + back_drv = bdrv_find_format(bs->backing_format);
Sigh.. > + } else { > + pstrcpy(backing_filename, sizeof(backing_filename), > + bs->backing_file); > + } > > /* backing files always opened read-only */ > back_flags = > -- mailto:av1...@comtv.ru