QA output created by 182
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432
Starting QEMU

Starting a second QEMU using the same image should fail
QEMU_PROG: -drive file=TEST_DIR/t.qcow2,if=none,id=drive0,file.locking=on: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

=== Testing reopen ===

{'execute': 'qmp_capabilities'}
{"return": {}}
{'execute': 'blockdev-add',
      'arguments': {
          'node-name': 'node0',
          'driver': 'file',
          'filename': 'TEST_DIR/t.IMGFMT',
          'locking': 'on'
          } }
{"return": {}}
{'execute': 'blockdev-snapshot-sync',
      'arguments': {
          'node-name': 'node0',
          'snapshot-file': 'TEST_DIR/t.IMGFMT.overlay',
          'snapshot-node-name': 'node1'
      } }
Formatting 'TEST_DIR/t.qcow2.overlay', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=197120 backing_file=TEST_DIR/t.qcow2 backing_fmt=file lazy_refcounts=off refcount_bits=16
{"return": {}}
{'execute': 'blockdev-add',
      'arguments': {
          'node-name': 'node1',
          'driver': 'file',
          'filename': 'TEST_DIR/t.IMGFMT',
          'locking': 'on'
          } }
{"return": {}}
{'execute': 'nbd-server-start',
      'arguments': {
          'addr': {
              'type': 'unix',
              'data': {
                  'path': 'SOCK_DIR/nbd.socket'
              } } } }
{"return": {}}
{'execute': 'nbd-server-add',
      'arguments': {
          'device': 'node1'
      } }
{"return": {}}

=== Testing failure to loosen restrictions ===

{'execute': 'qmp_capabilities'}
{"return": {}}
{'execute': 'quit'}
{"return": {}}
{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}}
*** done
