147 currently cannot be run concurrently for two reasons: (1) It creates TCP/IP NBD servers on a fixed port.
(2) It uses a mix of "0.0.0.0", "localhost", and "::1" as host addresses to bind to. As explained in the commit messages of patches 2 and 3, this results in it potentially actually being able to set up two servers on the same port at the same time -- but connecting to one will always lead to the IPv6 server (regardless of whether you use "localhost" or "::1"). Therefore, even if you get two servers running concurrently, one of the tests will still break because it connects to the wrong one. This series fixes these issues. Note that even if you do not care about concurrency, it still is a good idea to make 147 not use a fixed port to create NBD servers on, as it may always be already in use by a totally different application. Max Reitz (3): iotests.py: Add qemu_nbd_pipe() iotests: Bind qemu-nbd to localhost in 147 iotests: Allow 147 to be run concurrently tests/qemu-iotests/147 | 98 ++++++++++++++++++++++++----------- tests/qemu-iotests/iotests.py | 14 +++++ 2 files changed, 82 insertions(+), 30 deletions(-) -- 2.19.2