1QA output created by 153 2== readonly=off,force-share=on should be rejected == 3QEMU_PROG: -drive if=none,file=null-co://,readonly=off,force-share=on: force-share=on can only be used with read-only images 4 5== Creating base image == 6Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=33554432 7 8== Creating test image == 9Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base 10 11== Launching QEMU, opts: '' == 12 13== Launching another QEMU, opts: '' == 14QEMU_PROG: -drive file=TEST_DIR/t.qcow2,if=none,: Failed to get "write" lock 15Is another process using the image [TEST_DIR/t.qcow2]? 16 17== Launching another QEMU, opts: 'read-only=on' == 18QEMU_PROG: -drive file=TEST_DIR/t.qcow2,if=none,read-only=on: Failed to get shared "write" lock 19Is another process using the image [TEST_DIR/t.qcow2]? 20 21== Launching another QEMU, opts: 'read-only=on,force-share=on' == 22 23== Running utility commands == 24 25_qemu_io_wrapper -c read 0 512 TEST_DIR/t.qcow2 26qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get "write" lock 27Is another process using the image [TEST_DIR/t.qcow2]? 28 29_qemu_io_wrapper -r -c read 0 512 TEST_DIR/t.qcow2 30qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get shared "write" lock 31Is another process using the image [TEST_DIR/t.qcow2]? 32 33_qemu_io_wrapper -c open TEST_DIR/t.qcow2 -c read 0 512 34qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get "write" lock 35Is another process using the image [TEST_DIR/t.qcow2]? 36no file open, try 'help open' 37 38_qemu_io_wrapper -c open -r TEST_DIR/t.qcow2 -c read 0 512 39qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get shared "write" lock 40Is another process using the image [TEST_DIR/t.qcow2]? 41no file open, try 'help open' 42 43_qemu_img_wrapper info TEST_DIR/t.qcow2 44qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock 45Is another process using the image [TEST_DIR/t.qcow2]? 46 47_qemu_img_wrapper check TEST_DIR/t.qcow2 48qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock 49Is another process using the image [TEST_DIR/t.qcow2]? 50 51_qemu_img_wrapper compare TEST_DIR/t.qcow2 TEST_DIR/t.qcow2 52qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock 53Is another process using the image [TEST_DIR/t.qcow2]? 54 55_qemu_img_wrapper map TEST_DIR/t.qcow2 56qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock 57Is another process using the image [TEST_DIR/t.qcow2]? 58 59_qemu_img_wrapper amend -o TEST_DIR/t.qcow2 60qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock 61Is another process using the image [TEST_DIR/t.qcow2]? 62 63_qemu_img_wrapper commit TEST_DIR/t.qcow2 64qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock 65Is another process using the image [TEST_DIR/t.qcow2]? 66 67_qemu_img_wrapper resize TEST_DIR/t.qcow2 32M 68qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock 69Is another process using the image [TEST_DIR/t.qcow2]? 70 71_qemu_img_wrapper rebase TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base 72qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock 73Is another process using the image [TEST_DIR/t.qcow2]? 74 75_qemu_img_wrapper snapshot -l TEST_DIR/t.qcow2 76qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock 77Is another process using the image [TEST_DIR/t.qcow2]? 78 79_qemu_img_wrapper convert TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.convert 80qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock 81Is another process using the image [TEST_DIR/t.qcow2]? 82 83_qemu_img_wrapper dd if=TEST_DIR/t.qcow2 of=TEST_DIR/t.qcow2.convert bs=512 count=1 84qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock 85Is another process using the image [TEST_DIR/t.qcow2]? 86 87_qemu_img_wrapper bench -c 1 TEST_DIR/t.qcow2 88qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" lock 89Is another process using the image [TEST_DIR/t.qcow2]? 90 91_qemu_img_wrapper bench -w -c 1 TEST_DIR/t.qcow2 92qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock 93Is another process using the image [TEST_DIR/t.qcow2]? 94 95_qemu_img_wrapper create -f qcow2 TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base 96qemu-img: TEST_DIR/t.qcow2: Failed to get "write" lock 97Is another process using the image [TEST_DIR/t.qcow2]? 98file format: IMGFMT 99 100== Running utility commands -U == 101 102_qemu_io_wrapper -U -c read 0 512 TEST_DIR/t.qcow2 103qemu-io: can't open device TEST_DIR/t.qcow2: force-share=on can only be used with read-only images 104 105_qemu_io_wrapper -U -r -c read 0 512 TEST_DIR/t.qcow2 106 107_qemu_io_wrapper -c open -U TEST_DIR/t.qcow2 -c read 0 512 108qemu-io: can't open device TEST_DIR/t.qcow2: force-share=on can only be used with read-only images 109no file open, try 'help open' 110 111_qemu_io_wrapper -c open -r -U TEST_DIR/t.qcow2 -c read 0 512 112 113_qemu_img_wrapper info -U TEST_DIR/t.qcow2 114 115_qemu_img_wrapper check -U TEST_DIR/t.qcow2 116 117_qemu_img_wrapper compare -U TEST_DIR/t.qcow2 TEST_DIR/t.qcow2 118 119_qemu_img_wrapper map -U TEST_DIR/t.qcow2 120 121_qemu_img_wrapper amend -o -U TEST_DIR/t.qcow2 122qemu-img: unrecognized option '-U' 123Try 'qemu-img --help' for more information 124 125_qemu_img_wrapper commit -U TEST_DIR/t.qcow2 126qemu-img: unrecognized option '-U' 127Try 'qemu-img --help' for more information 128 129_qemu_img_wrapper resize -U TEST_DIR/t.qcow2 32M 130qemu-img: unrecognized option '-U' 131Try 'qemu-img --help' for more information 132 133_qemu_img_wrapper rebase -U TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base 134qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock 135Is another process using the image [TEST_DIR/t.qcow2]? 136 137_qemu_img_wrapper snapshot -l -U TEST_DIR/t.qcow2 138 139_qemu_img_wrapper convert -U TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.convert 140 141_qemu_img_wrapper dd -U if=TEST_DIR/t.qcow2 of=TEST_DIR/t.qcow2.convert bs=512 count=1 142 143_qemu_img_wrapper bench -U -c 1 TEST_DIR/t.qcow2 144 145_qemu_img_wrapper bench -U -w -c 1 TEST_DIR/t.qcow2 146qemu-img: Could not open 'TEST_DIR/t.qcow2': force-share=on can only be used with read-only images 147{ 'execute': 'quit' } 148 149Round done 150 151== Creating base image == 152Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=33554432 153 154== Creating test image == 155Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base 156 157== Launching QEMU, opts: 'read-only=on' == 158 159== Launching another QEMU, opts: '' == 160QEMU_PROG: -drive file=TEST_DIR/t.qcow2,if=none,: Failed to get "write" lock 161Is another process using the image [TEST_DIR/t.qcow2]? 162 163== Launching another QEMU, opts: 'read-only=on' == 164 165== Launching another QEMU, opts: 'read-only=on,force-share=on' == 166 167== Running utility commands == 168 169_qemu_io_wrapper -c read 0 512 TEST_DIR/t.qcow2 170qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get "write" lock 171Is another process using the image [TEST_DIR/t.qcow2]? 172 173_qemu_io_wrapper -r -c read 0 512 TEST_DIR/t.qcow2 174 175_qemu_io_wrapper -c open TEST_DIR/t.qcow2 -c read 0 512 176qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get "write" lock 177Is another process using the image [TEST_DIR/t.qcow2]? 178no file open, try 'help open' 179 180_qemu_io_wrapper -c open -r TEST_DIR/t.qcow2 -c read 0 512 181 182_qemu_img_wrapper info TEST_DIR/t.qcow2 183 184_qemu_img_wrapper check TEST_DIR/t.qcow2 185 186_qemu_img_wrapper compare TEST_DIR/t.qcow2 TEST_DIR/t.qcow2 187 188_qemu_img_wrapper map TEST_DIR/t.qcow2 189 190_qemu_img_wrapper amend -o TEST_DIR/t.qcow2 191qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock 192Is another process using the image [TEST_DIR/t.qcow2]? 193 194_qemu_img_wrapper commit TEST_DIR/t.qcow2 195qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock 196Is another process using the image [TEST_DIR/t.qcow2]? 197 198_qemu_img_wrapper resize TEST_DIR/t.qcow2 32M 199qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock 200Is another process using the image [TEST_DIR/t.qcow2]? 201 202_qemu_img_wrapper rebase TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base 203qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock 204Is another process using the image [TEST_DIR/t.qcow2]? 205 206_qemu_img_wrapper snapshot -l TEST_DIR/t.qcow2 207 208_qemu_img_wrapper convert TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.convert 209 210_qemu_img_wrapper dd if=TEST_DIR/t.qcow2 of=TEST_DIR/t.qcow2.convert bs=512 count=1 211 212_qemu_img_wrapper bench -c 1 TEST_DIR/t.qcow2 213 214_qemu_img_wrapper bench -w -c 1 TEST_DIR/t.qcow2 215qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock 216Is another process using the image [TEST_DIR/t.qcow2]? 217 218_qemu_img_wrapper create -f qcow2 TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base 219qemu-img: TEST_DIR/t.qcow2: Failed to get "write" lock 220Is another process using the image [TEST_DIR/t.qcow2]? 221file format: IMGFMT 222 223== Running utility commands -U == 224 225_qemu_io_wrapper -U -c read 0 512 TEST_DIR/t.qcow2 226qemu-io: can't open device TEST_DIR/t.qcow2: force-share=on can only be used with read-only images 227 228_qemu_io_wrapper -U -r -c read 0 512 TEST_DIR/t.qcow2 229 230_qemu_io_wrapper -c open -U TEST_DIR/t.qcow2 -c read 0 512 231qemu-io: can't open device TEST_DIR/t.qcow2: force-share=on can only be used with read-only images 232no file open, try 'help open' 233 234_qemu_io_wrapper -c open -r -U TEST_DIR/t.qcow2 -c read 0 512 235 236_qemu_img_wrapper info -U TEST_DIR/t.qcow2 237 238_qemu_img_wrapper check -U TEST_DIR/t.qcow2 239 240_qemu_img_wrapper compare -U TEST_DIR/t.qcow2 TEST_DIR/t.qcow2 241 242_qemu_img_wrapper map -U TEST_DIR/t.qcow2 243 244_qemu_img_wrapper amend -o -U TEST_DIR/t.qcow2 245qemu-img: unrecognized option '-U' 246Try 'qemu-img --help' for more information 247 248_qemu_img_wrapper commit -U TEST_DIR/t.qcow2 249qemu-img: unrecognized option '-U' 250Try 'qemu-img --help' for more information 251 252_qemu_img_wrapper resize -U TEST_DIR/t.qcow2 32M 253qemu-img: unrecognized option '-U' 254Try 'qemu-img --help' for more information 255 256_qemu_img_wrapper rebase -U TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base 257qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock 258Is another process using the image [TEST_DIR/t.qcow2]? 259 260_qemu_img_wrapper snapshot -l -U TEST_DIR/t.qcow2 261 262_qemu_img_wrapper convert -U TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.convert 263 264_qemu_img_wrapper dd -U if=TEST_DIR/t.qcow2 of=TEST_DIR/t.qcow2.convert bs=512 count=1 265 266_qemu_img_wrapper bench -U -c 1 TEST_DIR/t.qcow2 267 268_qemu_img_wrapper bench -U -w -c 1 TEST_DIR/t.qcow2 269qemu-img: Could not open 'TEST_DIR/t.qcow2': force-share=on can only be used with read-only images 270{ 'execute': 'quit' } 271 272Round done 273 274== Creating base image == 275Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=33554432 276 277== Creating test image == 278Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base 279 280== Launching QEMU, opts: 'read-only=on,force-share=on' == 281 282== Launching another QEMU, opts: '' == 283 284== Launching another QEMU, opts: 'read-only=on' == 285 286== Launching another QEMU, opts: 'read-only=on,force-share=on' == 287 288== Running utility commands == 289 290_qemu_io_wrapper -c read 0 512 TEST_DIR/t.qcow2 291 292_qemu_io_wrapper -r -c read 0 512 TEST_DIR/t.qcow2 293 294_qemu_io_wrapper -c open TEST_DIR/t.qcow2 -c read 0 512 295 296_qemu_io_wrapper -c open -r TEST_DIR/t.qcow2 -c read 0 512 297 298_qemu_img_wrapper info TEST_DIR/t.qcow2 299 300_qemu_img_wrapper check TEST_DIR/t.qcow2 301 302_qemu_img_wrapper compare TEST_DIR/t.qcow2 TEST_DIR/t.qcow2 303 304_qemu_img_wrapper map TEST_DIR/t.qcow2 305 306_qemu_img_wrapper amend -o TEST_DIR/t.qcow2 307 308_qemu_img_wrapper commit TEST_DIR/t.qcow2 309 310_qemu_img_wrapper resize TEST_DIR/t.qcow2 32M 311 312_qemu_img_wrapper rebase TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base 313 314_qemu_img_wrapper snapshot -l TEST_DIR/t.qcow2 315 316_qemu_img_wrapper convert TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.convert 317 318_qemu_img_wrapper dd if=TEST_DIR/t.qcow2 of=TEST_DIR/t.qcow2.convert bs=512 count=1 319 320_qemu_img_wrapper bench -c 1 TEST_DIR/t.qcow2 321 322_qemu_img_wrapper bench -w -c 1 TEST_DIR/t.qcow2 323 324_qemu_img_wrapper create -f qcow2 TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base 325file format: IMGFMT 326 327== Running utility commands -U == 328 329_qemu_io_wrapper -U -c read 0 512 TEST_DIR/t.qcow2 330qemu-io: can't open device TEST_DIR/t.qcow2: force-share=on can only be used with read-only images 331 332_qemu_io_wrapper -U -r -c read 0 512 TEST_DIR/t.qcow2 333 334_qemu_io_wrapper -c open -U TEST_DIR/t.qcow2 -c read 0 512 335qemu-io: can't open device TEST_DIR/t.qcow2: force-share=on can only be used with read-only images 336no file open, try 'help open' 337 338_qemu_io_wrapper -c open -r -U TEST_DIR/t.qcow2 -c read 0 512 339 340_qemu_img_wrapper info -U TEST_DIR/t.qcow2 341 342_qemu_img_wrapper check -U TEST_DIR/t.qcow2 343 344_qemu_img_wrapper compare -U TEST_DIR/t.qcow2 TEST_DIR/t.qcow2 345 346_qemu_img_wrapper map -U TEST_DIR/t.qcow2 347 348_qemu_img_wrapper amend -o -U TEST_DIR/t.qcow2 349qemu-img: unrecognized option '-U' 350Try 'qemu-img --help' for more information 351 352_qemu_img_wrapper commit -U TEST_DIR/t.qcow2 353qemu-img: unrecognized option '-U' 354Try 'qemu-img --help' for more information 355 356_qemu_img_wrapper resize -U TEST_DIR/t.qcow2 32M 357qemu-img: unrecognized option '-U' 358Try 'qemu-img --help' for more information 359 360_qemu_img_wrapper rebase -U TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base 361 362_qemu_img_wrapper snapshot -l -U TEST_DIR/t.qcow2 363 364_qemu_img_wrapper convert -U TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.convert 365 366_qemu_img_wrapper dd -U if=TEST_DIR/t.qcow2 of=TEST_DIR/t.qcow2.convert bs=512 count=1 367 368_qemu_img_wrapper bench -U -c 1 TEST_DIR/t.qcow2 369 370_qemu_img_wrapper bench -U -w -c 1 TEST_DIR/t.qcow2 371qemu-img: Could not open 'TEST_DIR/t.qcow2': force-share=on can only be used with read-only images 372{ 'execute': 'quit' } 373 374Round done 375 376== Two devices with the same image (read-only=off - read-only=off) == 377QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,read-only=off: Failed to get "write" lock 378Is another process using the image [TEST_DIR/t.qcow2]? 379 380== Two devices with the same image (read-only=off - read-only=on) == 381QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,read-only=on: Failed to get shared "write" lock 382Is another process using the image [TEST_DIR/t.qcow2]? 383 384== Two devices with the same image (read-only=off - read-only=on,force-share=on) == 385 386== Two devices with the same image (read-only=on - read-only=off) == 387QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,read-only=off: Failed to get "write" lock 388Is another process using the image [TEST_DIR/t.qcow2]? 389 390== Two devices with the same image (read-only=on - read-only=on) == 391 392== Two devices with the same image (read-only=on - read-only=on,force-share=on) == 393 394== Two devices with the same image (read-only=on,force-share=on - read-only=off) == 395 396== Two devices with the same image (read-only=on,force-share=on - read-only=on) == 397 398== Two devices with the same image (read-only=on,force-share=on - read-only=on,force-share=on) == 399 400== Creating TEST_DIR/t.qcow2.[abc] == 401Formatting 'TEST_DIR/t.IMGFMT.a', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT 402Formatting 'TEST_DIR/t.IMGFMT.b', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT 403Formatting 'TEST_DIR/t.IMGFMT.c', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.b 404 405== Two devices sharing the same file in backing chain == 406 407== Backing image also as an active device == 408QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2: Failed to get "write" lock 409Is another process using the image [TEST_DIR/t.qcow2]? 410 411== Backing image also as an active device (ro) == 412 413== Symbolic link == 414QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2: Failed to get "write" lock 415Is another process using the image [TEST_DIR/t.qcow2]? 416 417== Active commit to intermediate layer should work when base in use == 418{ 'execute': 'qmp_capabilities' } 419{"return": {}} 420 421_qemu_img_wrapper commit -b TEST_DIR/t.qcow2.b TEST_DIR/t.qcow2.c 422{ 'execute': 'qmp_capabilities' } 423{"return": {}} 424Adding drive 425{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'drive_add 0 if=none,id=d0,file=TEST_DIR/t.IMGFMT' } } 426{"return": "OKrn"} 427 428_qemu_io_wrapper TEST_DIR/t.qcow2 -c write 0 512 429qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get "write" lock 430Is another process using the image [TEST_DIR/t.qcow2]? 431Creating overlay with qemu-img when the guest is running should be allowed 432 433_qemu_img_wrapper create -f qcow2 -b TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.overlay 434== Closing an image should unlock it == 435{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'drive_del d0' } } 436{"return": ""} 437 438_qemu_io_wrapper TEST_DIR/t.qcow2 -c write 0 512 439Adding two and closing one 440{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'drive_add 0 if=none,id=d0,file=TEST_DIR/t.IMGFMT,readonly=on' } } 441{"return": "OKrn"} 442{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'drive_add 0 if=none,id=d1,file=TEST_DIR/t.IMGFMT,readonly=on' } } 443{"return": "OKrn"} 444 445_qemu_img_wrapper info TEST_DIR/t.qcow2 446{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'drive_del d0' } } 447{"return": ""} 448 449_qemu_io_wrapper TEST_DIR/t.qcow2 -c write 0 512 450qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get "write" lock 451Is another process using the image [TEST_DIR/t.qcow2]? 452Closing the other 453{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'drive_del d1' } } 454{"return": ""} 455 456_qemu_io_wrapper TEST_DIR/t.qcow2 -c write 0 512 457 458== Detecting -U and force-share conflicts == 459 460No conflict: 461image: null-co:// 462file format: null-co 463virtual size: 1 GiB (1073741824 bytes) 464disk size: unavailable 465 466Conflict: 467qemu-img: --force-share/-U conflicts with image options 468 469No conflict: 470 471Conflict: 472qemu-io: -U conflicts with image options 473*** done 474