wrote 4096/4096 bytes at offset 0
4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

=== Launch VM ===
{"execute": "nbd-server-start", "arguments": {"addr": {"data": {"path": "SOCK_DIR/PID-socket"}, "type": "unix"}}}
{"return": {}}
{"execute": "query-block-exports", "arguments": {}}
{"return": []}

=== Create a read-only NBD export ===
{"execute": "block-export-add", "arguments": {"id": "export0", "node-name": "fmt", "type": "nbd"}}
{"return": {}}
{"execute": "query-block-exports", "arguments": {}}
{"return": [{"id": "export0", "node-name": "fmt", "shutting-down": false, "type": "nbd"}]}
exports available: 1
 export: 'fmt'
  size:  67108864
  flags: 0x58f ( readonly flush fua df multi cache )
  min block: XXX
  opt block: XXX
  max block: XXX
  available meta contexts: 1
   base:allocation


=== Try a few invalid things ===
{"execute": "block-export-add", "arguments": {"id": "#invalid", "node-name": "fmt", "type": "nbd"}}
{"error": {"class": "GenericError", "desc": "Invalid block export id"}}
{"execute": "block-export-add", "arguments": {"id": "export0", "node-name": "fmt", "type": "nbd"}}
{"error": {"class": "GenericError", "desc": "Block export id 'export0' is already in use"}}
{"execute": "block-export-add", "arguments": {"id": "export1", "node-name": "ro", "type": "nbd", "writable": true}}
{"error": {"class": "GenericError", "desc": "Cannot export read-only node as writable"}}
{"execute": "block-export-del", "arguments": {"id": "export1"}}
{"error": {"class": "GenericError", "desc": "Export 'export1' is not found"}}
{"execute": "query-block-exports", "arguments": {}}
{"return": [{"id": "export0", "node-name": "fmt", "shutting-down": false, "type": "nbd"}]}

=== Move export to an iothread ===
{"execute": "device_add", "arguments": {"drive": "fmt", "driver": "scsi-hd", "id": "sda"}}
{"return": {}}
{"execute": "query-block-exports", "arguments": {}}
{"return": [{"id": "export0", "node-name": "fmt", "shutting-down": false, "type": "nbd"}]}
exports available: 1
 export: 'fmt'
  size:  67108864
  flags: 0x58f ( readonly flush fua df multi cache )
  min block: XXX
  opt block: XXX
  max block: XXX
  available meta contexts: 1
   base:allocation


=== Add export with conflicting iothread ===
{"execute": "device_add", "arguments": {"drive": "null", "driver": "scsi-hd", "id": "sdb"}}
{"return": {}}
{"execute": "block-export-add", "arguments": {"fixed-iothread": true, "id": "export1", "iothread": "iothread1", "node-name": "null", "type": "nbd", "writable": true}}
{"error": {"class": "GenericError", "desc": "Cannot change iothread of active block backend"}}
{"execute": "block-export-add", "arguments": {"fixed-iothread": false, "id": "export1", "iothread": "iothread1", "node-name": "null", "type": "nbd", "writable": true}}
{"error": {"class": "GenericError", "desc": "Permission conflict on node 'null': permissions 'write' are both required by an unnamed block device (uses node 'null' as 'root' child) and unshared by block device 'sdb' (uses node 'null' as 'root' child)."}}

=== Add a writable export ===
{"execute": "block-export-add", "arguments": {"description": "This is the writable second export", "id": "export1", "name": "export1", "node-name": "fmt", "type": "nbd", "writable": true, "writethrough": true}}
{"error": {"class": "GenericError", "desc": "Permission conflict on node 'fmt': permissions 'write' are both required by an unnamed block device (uses node 'fmt' as 'root' child) and unshared by block device 'sda' (uses node 'fmt' as 'root' child)."}}
{"execute": "device_del", "arguments": {"id": "sda"}}
{"return": {}}
{"data": {"device": "sda", "path": "/machine/peripheral/sda"}, "event": "DEVICE_DELETED", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}}
{"execute": "device_add", "arguments": {"drive": "fmt", "driver": "scsi-hd", "id": "sda", "share-rw": true}}
{"return": {}}
{"execute": "block-export-add", "arguments": {"description": "This is the writable second export", "id": "export1", "name": "export1", "node-name": "fmt", "type": "nbd", "writable": true, "writethrough": true}}
{"return": {}}
{"execute": "query-block-exports", "arguments": {}}
{"return": [{"id": "export1", "node-name": "fmt", "shutting-down": false, "type": "nbd"}, {"id": "export0", "node-name": "fmt", "shutting-down": false, "type": "nbd"}]}
exports available: 2
 export: 'fmt'
  size:  67108864
  flags: 0x58f ( readonly flush fua df multi cache )
  min block: XXX
  opt block: XXX
  max block: XXX
  available meta contexts: 1
   base:allocation
 export: 'export1'
  description: This is the writable second export
  size:  67108864
  flags: 0xced ( flush fua trim zeroes df cache fast-zero )
  min block: XXX
  opt block: XXX
  max block: XXX
  available meta contexts: 1
   base:allocation


=== Connect qemu-io to export1, try removing exports ===
read 4096/4096 bytes at offset 0
4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

wrote 4096/4096 bytes at offset 4096
4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

{"execute": "block-export-del", "arguments": {"id": "export1"}}
{"error": {"class": "GenericError", "desc": "export 'export1' still in use"}}
{"execute": "block-export-del", "arguments": {"id": "export0"}}
{"return": {}}
[{"data": {"id": "export0"}, "event": "BLOCK_EXPORT_DELETED", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}}]
{"execute": "query-block-exports", "arguments": {}}
{"return": [{"id": "export1", "node-name": "fmt", "shutting-down": false, "type": "nbd"}]}
exports available: 1
 export: 'export1'
  description: This is the writable second export
  size:  67108864
  flags: 0xced ( flush fua trim zeroes df cache fast-zero )
  min block: XXX
  opt block: XXX
  max block: XXX
  available meta contexts: 1
   base:allocation


=== Connect qemu-io again, try force removing ===
{"execute": "block-export-del", "arguments": {"id": "export1"}}
{"error": {"class": "GenericError", "desc": "export 'export1' still in use"}}
{"execute": "block-export-del", "arguments": {"id": "export1", "mode": "hard"}}
{"return": {}}
read failed: Input/output error

{"execute": "query-block-exports", "arguments": {}}
{"return": []}
exports available: 0


=== Shut down QEMU ===
