On 17.01.2017 00:02, Eric Blake wrote: > On 01/16/2017 02:49 PM, Max Reitz wrote: >> This function may be implemented by block drivers to derive a directory >> name from a BDS. Concatenating this g_free()-able string with a relative >> filename must result in a valid (not necessarily existing) filename, so >> this is a function that should generally be not implemented by format >> drivers, because this is protocol-specific. >> >> If a BDS's driver does not implement this function, bdrv_dirname() will >> fall through to the BDS's file if it exists. If it does not, the >> exact_filename field will be used to generate a directory name. >> >> Signed-off-by: Max Reitz <mre...@redhat.com> >> --- >> include/block/block.h | 1 + >> include/block/block_int.h | 1 + >> block.c | 26 ++++++++++++++++++++++++++ >> 3 files changed, 28 insertions(+) > >> +++ b/include/block/block_int.h >> @@ -130,6 +130,7 @@ struct BlockDriver { >> int (*bdrv_make_empty)(BlockDriverState *bs); >> >> void (*bdrv_refresh_filename)(BlockDriverState *bs, QDict *options); >> + char *(*bdrv_dirname)(BlockDriverState *bs, Error **errp); > > I know we've been lousy at documentation in the past, but should we > start doing a better job of documenting the contract as we add new > callbacks, rather than just the commit messages?
Good point, I'll add a comment. > Based on existing practice, though, I'm okay with: > Reviewed-by: Eric Blake <ebl...@redhat.com> Thanks for reviewing! Max
signature.asc
Description: OpenPGP digital signature