This series adds the --backing-chain option for enumerating the backing file chain. Given the topmost image it will print qemu-img info information for each image file in the chain.
Special care needs to be taken when image files form an infinite loop. This is very unusual, most like due to malicious image files. Nevertheless, qemu-img must be robust against invalid inputs so we explicit check for this. v3: * Use ImageInfoList to avoid manually outputting JSON and to make the code more QAPI-friendly. * Solve the output vs error messages issues by printing a detailed error message but no image info. To dig into a broken image chain, rerun without --backing-chain. This is different from what I initially tried but is much cleaner because it doesn't produce confusing output. * rm -f $TEST_IMG.[123].base [Kevin] * Include --output=json in test case [Kevin] * Rename test case to free 043 number [Eric] Stefan Hajnoczi (2): qemu-img: Add --backing-chain option to info command qemu-iotests: Add 043 backing file chain infinite loop test qemu-img.c | 167 +++++++++++++++++++++++++++++++++++++++---- tests/qemu-iotests/043 | 94 ++++++++++++++++++++++++ tests/qemu-iotests/043.out | 66 +++++++++++++++++ tests/qemu-iotests/common.rc | 10 +++ tests/qemu-iotests/group | 1 + 5 files changed, 324 insertions(+), 14 deletions(-) create mode 100755 tests/qemu-iotests/043 create mode 100644 tests/qemu-iotests/043.out -- 1.7.11.7