Am 19.10.2015 um 20:49 hat Max Reitz geschrieben: > That field is now only used during initialization of BlockDriverStates > (opening images) and for error or warning messages. Performance is not > that much of an issue here, so we can drop the field and replace its use > by a call to bdrv_filename(). By doing so we can ensure the result > always to be recent, whereas the contents of BlockDriverState.filename > may have been obsoleted by manipulations of single BlockDriverStates or > of the BDS graph. > > The users of the BDS filename field were changed as follows: > - copying the filename into another buffer is trivially replaced by > using bdrv_filename() instead of the copy function > - strdup() on the filename is replaced by a call to > bdrv_filename(filename, NULL, 0) > - bdrv_filename(bs, bs->filename, sizeof(bs->filename)) is replaced by > bdrv_refresh_filename(bs) > (these were introduced by the patch before the previous patch) > - anywhere else bdrv_filename(..., NULL, 0) is used, any access to > BlockDriverState.filename is then replaced by the buffer returned, and > it is freed when it is no longer needed > > Signed-off-by: Max Reitz <mre...@redhat.com>
Reviewed-by: Kevin Wolf <kw...@redhat.com>