• M
    block: Add bdrv_refresh_filename() · 91af7014
    Max Reitz 提交于
    Some block devices may not have a filename in their BDS; and for some,
    there may not even be a normal filename at all. To work around this, add
    a function which tries to construct a valid filename for the
    BDS.filename field.
    
    If a filename exists or a block driver is able to reconstruct a valid
    filename (which is placed in BDS.exact_filename), this can directly be
    used.
    
    If no filename can be constructed, we can still construct an options
    QDict which is then converted to a JSON object and prefixed with the
    "json:" pseudo protocol prefix. The QDict is placed in
    BDS.full_open_options.
    
    For most block drivers, this process can be done automatically; those
    that need special handling may define a .bdrv_refresh_filename() method
    to fill BDS.exact_filename and BDS.full_open_options themselves.
    Signed-off-by: NMax Reitz <mreitz@redhat.com>
    Signed-off-by: NKevin Wolf <kwolf@redhat.com>
    91af7014
block_int.h 21.6 KB