On 10/19/2015 12:49 PM, Max Reitz wrote: > Split the part which actually refreshes the BlockDriverState.filename > field off of bdrv_refresh_filename() into a more generic function > bdrv_filename(), which first calls bdrv_refresh_filename() and then > stores a qemu-usable filename in the given buffer instead of > BlockDriverState.filename. > > Since bdrv_refresh_filename() therefore no longer refreshes that field, > some calls to that function have to be replaced by calls to > bdrv_filename() "manually" refreshing the BDS filename field (this is > only temporary). > > Signed-off-by: Max Reitz <mre...@redhat.com> > --- > block.c | 43 ++++++++++++++++++++++++++++++++++++------- > block/blkverify.c | 3 ++- > block/quorum.c | 3 ++- > include/block/block.h | 1 + > 4 files changed, 41 insertions(+), 9 deletions(-) >
> + > +/* First refreshes exact_filename and full_open_options by calling > + * bdrv_refresh_filename(). Then, if exact_filename is set, it is copied into > + * the target buffer. Otherwise, full_open_options is converted to a JSON > + * object, prefixed with "json:" (for use through the JSON pseudo protocol) > and > + * put there. > + * > + * If @sz > 0, the string put into the buffer will always be null-terminated. Maybe add a warning: ...always be null-terminated, even if this truncates the result. 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