QA output created by 153
== readonly=off,force-share=on should be rejected ==
QEMU_PROG: -drive if=none,file=null-co://,readonly=off,force-share=on: force-share=on can only be used with read-only images

== Creating base image ==
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=33554432

== Creating test image ==
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT

== Launching QEMU, opts: '' ==

== Launching another QEMU, opts: '' ==
QEMU_PROG: -drive file=TEST_DIR/t.qcow2,if=none,: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

== Launching another QEMU, opts: 'read-only=on' ==
QEMU_PROG: -drive file=TEST_DIR/t.qcow2,if=none,read-only=on: Failed to get shared "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

== Launching another QEMU, opts: 'read-only=on,force-share=on' ==

== Running utility commands  ==

_qemu_io_wrapper -c read 0 512 TEST_DIR/t.qcow2
qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_io_wrapper -r -c read 0 512 TEST_DIR/t.qcow2
qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get shared "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_io_wrapper -c open  TEST_DIR/t.qcow2 -c read 0 512
qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?
no file open, try 'help open'

_qemu_io_wrapper -c open -r  TEST_DIR/t.qcow2 -c read 0 512
qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get shared "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?
no file open, try 'help open'

_qemu_img_wrapper info TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper check TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper compare TEST_DIR/t.qcow2 TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper map TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper amend -o size=32M TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper commit TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper resize TEST_DIR/t.qcow2 32M
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper rebase TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper snapshot -l TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper convert TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.convert
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper dd if=TEST_DIR/t.qcow2 of=TEST_DIR/t.qcow2.convert bs=512 count=1
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper bench -c 1 TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper bench -w -c 1 TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper create -f qcow2 TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
qemu-img: TEST_DIR/t.qcow2: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?
file format: IMGFMT
backing file format: IMGFMT

== Running utility commands -U ==

_qemu_io_wrapper -U -c read 0 512 TEST_DIR/t.qcow2
qemu-io: can't open device TEST_DIR/t.qcow2: force-share=on can only be used with read-only images

_qemu_io_wrapper -U -r -c read 0 512 TEST_DIR/t.qcow2

_qemu_io_wrapper -c open -U TEST_DIR/t.qcow2 -c read 0 512
qemu-io: can't open device TEST_DIR/t.qcow2: force-share=on can only be used with read-only images
no file open, try 'help open'

_qemu_io_wrapper -c open -r -U TEST_DIR/t.qcow2 -c read 0 512

_qemu_img_wrapper info -U TEST_DIR/t.qcow2

_qemu_img_wrapper check -U TEST_DIR/t.qcow2

_qemu_img_wrapper compare -U TEST_DIR/t.qcow2 TEST_DIR/t.qcow2

_qemu_img_wrapper map -U TEST_DIR/t.qcow2

_qemu_img_wrapper amend -o size=32M -U TEST_DIR/t.qcow2
qemu-img: unrecognized option '-U'
Try 'qemu-img --help' for more information

_qemu_img_wrapper commit -U TEST_DIR/t.qcow2
qemu-img: unrecognized option '-U'
Try 'qemu-img --help' for more information

_qemu_img_wrapper resize -U TEST_DIR/t.qcow2 32M
qemu-img: unrecognized option '-U'
Try 'qemu-img --help' for more information

_qemu_img_wrapper rebase -U TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper snapshot -l -U TEST_DIR/t.qcow2

_qemu_img_wrapper convert -U TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.convert

_qemu_img_wrapper dd -U if=TEST_DIR/t.qcow2 of=TEST_DIR/t.qcow2.convert bs=512 count=1

_qemu_img_wrapper bench -U -c 1 TEST_DIR/t.qcow2

_qemu_img_wrapper bench -U -w -c 1 TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': force-share=on can only be used with read-only images
{ 'execute': 'quit' }

Round done

== Creating base image ==
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=33554432

== Creating test image ==
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT

== Launching QEMU, opts: 'read-only=on' ==

== Launching another QEMU, opts: '' ==
QEMU_PROG: -drive file=TEST_DIR/t.qcow2,if=none,: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

== Launching another QEMU, opts: 'read-only=on' ==

== Launching another QEMU, opts: 'read-only=on,force-share=on' ==

== Running utility commands  ==

_qemu_io_wrapper -c read 0 512 TEST_DIR/t.qcow2
qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_io_wrapper -r -c read 0 512 TEST_DIR/t.qcow2

_qemu_io_wrapper -c open  TEST_DIR/t.qcow2 -c read 0 512
qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?
no file open, try 'help open'

_qemu_io_wrapper -c open -r  TEST_DIR/t.qcow2 -c read 0 512

_qemu_img_wrapper info TEST_DIR/t.qcow2

_qemu_img_wrapper check TEST_DIR/t.qcow2

_qemu_img_wrapper compare TEST_DIR/t.qcow2 TEST_DIR/t.qcow2

_qemu_img_wrapper map TEST_DIR/t.qcow2

_qemu_img_wrapper amend -o size=32M TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper commit TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper resize TEST_DIR/t.qcow2 32M
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper rebase TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper snapshot -l TEST_DIR/t.qcow2

_qemu_img_wrapper convert TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.convert

_qemu_img_wrapper dd if=TEST_DIR/t.qcow2 of=TEST_DIR/t.qcow2.convert bs=512 count=1

_qemu_img_wrapper bench -c 1 TEST_DIR/t.qcow2

_qemu_img_wrapper bench -w -c 1 TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper create -f qcow2 TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
qemu-img: TEST_DIR/t.qcow2: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?
file format: IMGFMT
backing file format: IMGFMT

== Running utility commands -U ==

_qemu_io_wrapper -U -c read 0 512 TEST_DIR/t.qcow2
qemu-io: can't open device TEST_DIR/t.qcow2: force-share=on can only be used with read-only images

_qemu_io_wrapper -U -r -c read 0 512 TEST_DIR/t.qcow2

_qemu_io_wrapper -c open -U TEST_DIR/t.qcow2 -c read 0 512
qemu-io: can't open device TEST_DIR/t.qcow2: force-share=on can only be used with read-only images
no file open, try 'help open'

_qemu_io_wrapper -c open -r -U TEST_DIR/t.qcow2 -c read 0 512

_qemu_img_wrapper info -U TEST_DIR/t.qcow2

_qemu_img_wrapper check -U TEST_DIR/t.qcow2

_qemu_img_wrapper compare -U TEST_DIR/t.qcow2 TEST_DIR/t.qcow2

_qemu_img_wrapper map -U TEST_DIR/t.qcow2

_qemu_img_wrapper amend -o size=32M -U TEST_DIR/t.qcow2
qemu-img: unrecognized option '-U'
Try 'qemu-img --help' for more information

_qemu_img_wrapper commit -U TEST_DIR/t.qcow2
qemu-img: unrecognized option '-U'
Try 'qemu-img --help' for more information

_qemu_img_wrapper resize -U TEST_DIR/t.qcow2 32M
qemu-img: unrecognized option '-U'
Try 'qemu-img --help' for more information

_qemu_img_wrapper rebase -U TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

_qemu_img_wrapper snapshot -l -U TEST_DIR/t.qcow2

_qemu_img_wrapper convert -U TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.convert

_qemu_img_wrapper dd -U if=TEST_DIR/t.qcow2 of=TEST_DIR/t.qcow2.convert bs=512 count=1

_qemu_img_wrapper bench -U -c 1 TEST_DIR/t.qcow2

_qemu_img_wrapper bench -U -w -c 1 TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': force-share=on can only be used with read-only images
{ 'execute': 'quit' }

Round done

== Creating base image ==
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=33554432

== Creating test image ==
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT

== Launching QEMU, opts: 'read-only=on,force-share=on' ==

== Launching another QEMU, opts: '' ==

== Launching another QEMU, opts: 'read-only=on' ==

== Launching another QEMU, opts: 'read-only=on,force-share=on' ==

== Running utility commands  ==

_qemu_io_wrapper -c read 0 512 TEST_DIR/t.qcow2

_qemu_io_wrapper -r -c read 0 512 TEST_DIR/t.qcow2

_qemu_io_wrapper -c open  TEST_DIR/t.qcow2 -c read 0 512

_qemu_io_wrapper -c open -r  TEST_DIR/t.qcow2 -c read 0 512

_qemu_img_wrapper info TEST_DIR/t.qcow2

_qemu_img_wrapper check TEST_DIR/t.qcow2

_qemu_img_wrapper compare TEST_DIR/t.qcow2 TEST_DIR/t.qcow2

_qemu_img_wrapper map TEST_DIR/t.qcow2

_qemu_img_wrapper amend -o size=32M TEST_DIR/t.qcow2

_qemu_img_wrapper commit TEST_DIR/t.qcow2

_qemu_img_wrapper resize TEST_DIR/t.qcow2 32M

_qemu_img_wrapper rebase TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2

_qemu_img_wrapper snapshot -l TEST_DIR/t.qcow2

_qemu_img_wrapper convert TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.convert

_qemu_img_wrapper dd if=TEST_DIR/t.qcow2 of=TEST_DIR/t.qcow2.convert bs=512 count=1

_qemu_img_wrapper bench -c 1 TEST_DIR/t.qcow2

_qemu_img_wrapper bench -w -c 1 TEST_DIR/t.qcow2

_qemu_img_wrapper create -f qcow2 TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
file format: IMGFMT
backing file format: IMGFMT

== Running utility commands -U ==

_qemu_io_wrapper -U -c read 0 512 TEST_DIR/t.qcow2
qemu-io: can't open device TEST_DIR/t.qcow2: force-share=on can only be used with read-only images

_qemu_io_wrapper -U -r -c read 0 512 TEST_DIR/t.qcow2

_qemu_io_wrapper -c open -U TEST_DIR/t.qcow2 -c read 0 512
qemu-io: can't open device TEST_DIR/t.qcow2: force-share=on can only be used with read-only images
no file open, try 'help open'

_qemu_io_wrapper -c open -r -U TEST_DIR/t.qcow2 -c read 0 512

_qemu_img_wrapper info -U TEST_DIR/t.qcow2

_qemu_img_wrapper check -U TEST_DIR/t.qcow2

_qemu_img_wrapper compare -U TEST_DIR/t.qcow2 TEST_DIR/t.qcow2

_qemu_img_wrapper map -U TEST_DIR/t.qcow2

_qemu_img_wrapper amend -o size=32M -U TEST_DIR/t.qcow2
qemu-img: unrecognized option '-U'
Try 'qemu-img --help' for more information

_qemu_img_wrapper commit -U TEST_DIR/t.qcow2
qemu-img: unrecognized option '-U'
Try 'qemu-img --help' for more information

_qemu_img_wrapper resize -U TEST_DIR/t.qcow2 32M
qemu-img: unrecognized option '-U'
Try 'qemu-img --help' for more information

_qemu_img_wrapper rebase -U TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2

_qemu_img_wrapper snapshot -l -U TEST_DIR/t.qcow2

_qemu_img_wrapper convert -U TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.convert

_qemu_img_wrapper dd -U if=TEST_DIR/t.qcow2 of=TEST_DIR/t.qcow2.convert bs=512 count=1

_qemu_img_wrapper bench -U -c 1 TEST_DIR/t.qcow2

_qemu_img_wrapper bench -U -w -c 1 TEST_DIR/t.qcow2
qemu-img: Could not open 'TEST_DIR/t.qcow2': force-share=on can only be used with read-only images
{ 'execute': 'quit' }

Round done

== Two devices with the same image (read-only=off - read-only=off) ==
QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,read-only=off: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

== Two devices with the same image (read-only=off - read-only=on) ==
QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,read-only=on: Failed to get shared "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

== Two devices with the same image (read-only=off - read-only=on,force-share=on) ==

== Two devices with the same image (read-only=on - read-only=off) ==
QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,read-only=off: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

== Two devices with the same image (read-only=on - read-only=on) ==

== Two devices with the same image (read-only=on - read-only=on,force-share=on) ==

== Two devices with the same image (read-only=on,force-share=on - read-only=off) ==

== Two devices with the same image (read-only=on,force-share=on - read-only=on) ==

== Two devices with the same image (read-only=on,force-share=on - read-only=on,force-share=on) ==

== Creating TEST_DIR/t.qcow2.[abc] ==
Formatting 'TEST_DIR/t.IMGFMT.a', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT backing_fmt=IMGFMT
Formatting 'TEST_DIR/t.IMGFMT.b', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT backing_fmt=IMGFMT
Formatting 'TEST_DIR/t.IMGFMT.c', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.b backing_fmt=IMGFMT

== Two devices sharing the same file in backing chain ==

== Backing image also as an active device ==
QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

== Backing image also as an active device (ro) ==

== Symbolic link ==
QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?

== Active commit to intermediate layer should work when base in use ==
{ 'execute': 'qmp_capabilities' }
{"return": {}}

_qemu_img_wrapper commit -b TEST_DIR/t.qcow2.b TEST_DIR/t.qcow2.c
{ 'execute': 'qmp_capabilities' }
{"return": {}}
Adding drive
{ 'execute': 'human-monitor-command',
       'arguments': { 'command-line': 'drive_add 0 if=none,id=d0,file=TEST_DIR/t.IMGFMT' } }
{"return": "OKrn"}

_qemu_io_wrapper TEST_DIR/t.qcow2 -c write 0 512
qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?
Creating overlay with qemu-img when the guest is running should be allowed

_qemu_img_wrapper create -f qcow2 -b TEST_DIR/t.qcow2 -F qcow2 TEST_DIR/t.qcow2.overlay
== Closing an image should unlock it ==
{ 'execute': 'human-monitor-command',
       'arguments': { 'command-line': 'drive_del d0' } }
{"return": ""}

_qemu_io_wrapper TEST_DIR/t.qcow2 -c write 0 512
Adding two and closing one
{ 'execute': 'human-monitor-command',
           'arguments': { 'command-line': 'drive_add 0 if=none,id=d0,file=TEST_DIR/t.IMGFMT,readonly=on' } }
{"return": "OKrn"}
{ 'execute': 'human-monitor-command',
           'arguments': { 'command-line': 'drive_add 0 if=none,id=d1,file=TEST_DIR/t.IMGFMT,readonly=on' } }
{"return": "OKrn"}

_qemu_img_wrapper info TEST_DIR/t.qcow2
{ 'execute': 'human-monitor-command',
       'arguments': { 'command-line': 'drive_del d0' } }
{"return": ""}

_qemu_io_wrapper TEST_DIR/t.qcow2 -c write 0 512
qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get "write" lock
Is another process using the image [TEST_DIR/t.qcow2]?
Closing the other
{ 'execute': 'human-monitor-command',
       'arguments': { 'command-line': 'drive_del d1' } }
{"return": ""}

_qemu_io_wrapper TEST_DIR/t.qcow2 -c write 0 512

== Detecting -U and force-share conflicts ==

No conflict:
image: null-co://
file format: null-co
virtual size: 1 GiB (1073741824 bytes)
disk size: 0 B

Conflict:
qemu-img: --force-share/-U conflicts with image options

No conflict:

Conflict:
qemu-io: -U conflicts with image options
*** done
