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.
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 v1: 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:[0014] [FC] 'block: Do not prematurely remove "filename"' 002/2:[0002] [FC] '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 | 24 +++++++++++----- tests/qemu-iotests/097 | 72 ++++++++++++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/097.out | 13 +++++++++ tests/qemu-iotests/group | 1 + 4 files changed, 103 insertions(+), 7 deletions(-) create mode 100755 tests/qemu-iotests/097 create mode 100644 tests/qemu-iotests/097.out -- 2.0.0