For some protocol block drivers, the "filename" attribute in their BDSs is unset due to bdrv_file_open() removing it from the options QDict before bdrv_open_common() is able to copy it into the BDS. Fix this by not removing it until until bdrv_open_common() has indeed copied it.
v3: - Patch 1: Rebased onto Kevin's block branch, especially his series "bdrv_open() cleanups, part 1" [Eric] v2: - Patch 1: Only remove "filename" from the QDict if it has been parsed before; this prevents removal of the entry if it is given for some driver which supports neither parsing not filenames at all (such as all non-protocol drivers) which would then break test 051 [Stefan] - Patch 2: Fixed the headline of the test output git-backport-diff against v2: Key: [----] : patches are identical [####] : number of functional differences between upstream/downstream patch [down] : patch is downstream-only The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively 001/2:[0041] [FC] 'block: Do not prematurely remove "filename"' 002/2:[----] [--] 'iotests: Add test for set "filename" for NBD' Max Reitz (2): block: Do not prematurely remove "filename" iotests: Add test for set "filename" for NBD block.c | 35 ++++++++++++++++++---- tests/qemu-iotests/097 | 72 ++++++++++++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/097.out | 13 +++++++++ tests/qemu-iotests/group | 1 + 4 files changed, 115 insertions(+), 6 deletions(-) create mode 100755 tests/qemu-iotests/097 create mode 100644 tests/qemu-iotests/097.out -- 2.0.0