[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] e2f948: python: qemu: add timer parameter for
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] e2f948: python: qemu: add timer parameter for qmp.accept s... |
Date: |
Thu, 02 Sep 2021 06:57:34 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: e2f948a8b579c382065012c34aa7e46304ec8759
https://github.com/qemu/qemu/commit/e2f948a8b579c382065012c34aa7e46304ec8759
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M python/qemu/machine/machine.py
M python/qemu/machine/qtest.py
M tests/qemu-iotests/iotests.py
Log Message:
-----------
python: qemu: add timer parameter for qmp.accept socket
Also add a new _qmp_timer field to the QEMUMachine class.
Let's change the default socket timeout to None, so that if
a subclass needs to add a timer, it can be done by modifying
this private field.
At the same time, restore the timer to be 15 seconds in iotests.py, to
give an upper bound to the QMP monitor test command execution.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Acked-by: John Snow <jsnow@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210809090114.64834-2-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 22305c2a081b8b67e1181ebd821c076cc36fdcd2
https://github.com/qemu/qemu/commit/22305c2a081b8b67e1181ebd821c076cc36fdcd2
Author: John Snow <jsnow@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M python/setup.cfg
Log Message:
-----------
python: Reduce strictness of pylint's duplicate-code check
Pylint prior to 2.8.3 (We pin at >= 2.8.0) includes function and method
signatures as part of its duplicate checking algorithm. This check does
not listen to pragmas, so the only way to disable it is to turn it off
completely or increase the minimum duplicate lines so that it doesn't
trigger for functions with long, multi-line signatures.
When we decide to upgrade to pylint 2.8.3 or greater, we will be able to
use 'ignore-signatures = true' to the config instead.
I'd prefer not to keep us on the very bleeding edge of pylint if I can
help it -- 2.8.3 came out only three days ago at time of writing.
See: https://github.com/PyCQA/pylint/pull/4474
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Acked-by: John Snow <jsnow@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210809090114.64834-3-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 804f7695e535da902c1c5159cf53756f182aceb4
https://github.com/qemu/qemu/commit/804f7695e535da902c1c5159cf53756f182aceb4
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M python/qemu/machine/qtest.py
Log Message:
-----------
python: qemu: pass the wrapper field from QEMUQtestmachine to QEMUMachine
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Acked-by: John Snow <jsnow@redhat.com>
Message-Id: <20210809090114.64834-4-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 0193767b25340ac6ea6e6ecfbc0c3d1c25c153ef
https://github.com/qemu/qemu/commit/0193767b25340ac6ea6e6ecfbc0c3d1c25c153ef
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M docs/devel/testing.rst
Log Message:
-----------
docs/devel/testing: add debug section to the QEMU iotests chapter
Introduce the "Debugging a test case" section, in preparation
to the additional flags that will be added in the next patches.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210809090114.64834-5-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: cfb9b0b731ff86f71fd8602be0da1e064795c7ce
https://github.com/qemu/qemu/commit/cfb9b0b731ff86f71fd8602be0da1e064795c7ce
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/check
M tests/qemu-iotests/iotests.py
M tests/qemu-iotests/testenv.py
Log Message:
-----------
qemu-iotests: add option to attach gdbserver
Define -gdb flag and GDB_OPTIONS environment variable
to python tests to attach a gdbserver to each qemu instance.
This patch only adds and parses this flag, it does not yet add
the implementation for it.
if -gdb is not provided but $GDB_OPTIONS is set, ignore the
environment variable.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210809090114.64834-6-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: d3ec2022cbac029bb42d4c3919aa63943baeac8f
https://github.com/qemu/qemu/commit/d3ec2022cbac029bb42d4c3919aa63943baeac8f
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/iotests.py
Log Message:
-----------
qemu-iotests: delay QMP socket timers
Attaching gdbserver implies that the qmp socket
should wait indefinitely for an answer from QEMU.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210809090114.64834-7-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 776b9974e5b8b659d3b9b2a7dd6d84293c59664b
https://github.com/qemu/qemu/commit/776b9974e5b8b659d3b9b2a7dd6d84293c59664b
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/iotests.py
Log Message:
-----------
qemu_iotests: insert gdbserver command line as wrapper for qemu binary
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210809090114.64834-8-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 4d14db0468b7b6495aae1d9de4efe2dc1d5c513d
https://github.com/qemu/qemu/commit/4d14db0468b7b6495aae1d9de4efe2dc1d5c513d
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/common.qemu
M tests/qemu-iotests/common.rc
Log Message:
-----------
qemu-iotests: add gdbserver option to script tests too
Remove read timer in test script when GDB_OPTIONS are set,
so that the bash tests won't timeout while running gdb.
The only limitation here is that running a script with gdbserver
will make the test output mismatch with the expected
results, making the test fail.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Message-Id: <20210809090114.64834-9-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: e92ecc322cd60be749309afda0d17d464961a230
https://github.com/qemu/qemu/commit/e92ecc322cd60be749309afda0d17d464961a230
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M docs/devel/testing.rst
Log Message:
-----------
docs/devel/testing: add -gdb option to the debugging section of QEMU iotests
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210809090114.64834-10-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: a9b4c6bb64b2908eb2d074fbe6d682ee7ff599e0
https://github.com/qemu/qemu/commit/a9b4c6bb64b2908eb2d074fbe6d682ee7ff599e0
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/check
M tests/qemu-iotests/iotests.py
M tests/qemu-iotests/testenv.py
Log Message:
-----------
qemu-iotests: extend the check script to prepare supporting valgrind for
python tests
Currently, the check script only parses the option and sets the
VALGRIND_QEMU environmental variable to "y".
Add another local python variable that prepares the command line,
identical to the one provided in the test scripts.
Because the python script does not know in advance the valgrind
PID to assign to the log file name, use the "%p" flag in valgrind
log file name that automatically puts the process PID at runtime.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210809090114.64834-11-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: d0c34326c89a6b1b839c61e6cc24d5befef7d38d
https://github.com/qemu/qemu/commit/d0c34326c89a6b1b839c61e6cc24d5befef7d38d
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/iotests.py
Log Message:
-----------
qemu-iotests: extend QMP socket timeout when using valgrind
As with gdbserver, valgrind delays the test execution, so
the default QMP socket timeout and the generic class
Timeout in iotests.py timeouts too soon.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210809090114.64834-12-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: d792c8636afe6b302a0028518738d45ad2826a3d
https://github.com/qemu/qemu/commit/d792c8636afe6b302a0028518738d45ad2826a3d
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/iotests.py
Log Message:
-----------
qemu-iotests: allow valgrind to read/delete the generated log file
When using -valgrind on the script tests, it generates a log file
in $TEST_DIR that is either read (if valgrind finds problems) or
otherwise deleted. Provide the same exact behavior when using
-valgrind on the python tests.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210809090114.64834-13-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 4032d1f69c1f8c61b69a226148b71287129ae014
https://github.com/qemu/qemu/commit/4032d1f69c1f8c61b69a226148b71287129ae014
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/iotests.py
Log Message:
-----------
qemu-iotests: insert valgrind command line as wrapper for qemu binary
If -gdb and -valgrind are both defined, return an error.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210809090114.64834-14-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: bd10a7397ed93be4ea97b1e377578d13922134f5
https://github.com/qemu/qemu/commit/bd10a7397ed93be4ea97b1e377578d13922134f5
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M docs/devel/testing.rst
Log Message:
-----------
docs/devel/testing: add -valgrind option to the debug section of QEMU iotests
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210809090114.64834-15-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: eb7a91d07ad831aeb372ff21b10e7a515ca786ec
https://github.com/qemu/qemu/commit/eb7a91d07ad831aeb372ff21b10e7a515ca786ec
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M python/qemu/machine/machine.py
M tests/qemu-iotests/check
M tests/qemu-iotests/iotests.py
M tests/qemu-iotests/testenv.py
Log Message:
-----------
qemu-iotests: add option to show qemu binary logs on stdout
Using the flag -p, allow the qemu binary to print to stdout.
Also create the common function _close_qemu_log_file() to
avoid accessing machine.py private fields directly and have
duplicate code.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210809090114.64834-16-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 8ffcda2a70008fa69bab6c58e5ed362d924c7b55
https://github.com/qemu/qemu/commit/8ffcda2a70008fa69bab6c58e5ed362d924c7b55
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M docs/devel/testing.rst
Log Message:
-----------
docs/devel/testing: add -p option to the debug section of QEMU iotests
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210809090114.64834-17-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 8cca0bd289ed8aa1f4f26539bd9450fa04e16fc0
https://github.com/qemu/qemu/commit/8cca0bd289ed8aa1f4f26539bd9450fa04e16fc0
Author: Mao Zhongyi <maozhongyi@cmss.chinamobile.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/monitor/block-hmp-cmds.c
Log Message:
-----------
block/monitor: Consolidate hmp_handle_error calls to reduce redundant code
Signed-off-by: Mao Zhongyi <maozhongyi@cmss.chinamobile.com>
Message-Id: <20210802062507.347555-1-maozhongyi@cmss.chinamobile.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: b68ce824098e4470e5c4f81065896a9ca8a45792
https://github.com/qemu/qemu/commit/b68ce824098e4470e5c4f81065896a9ca8a45792
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/raw-format.c
Log Message:
-----------
raw-format: drop WRITE and RESIZE child perms when possible
The following command-line fails due to a permissions conflict:
$ qemu-storage-daemon \
--blockdev driver=nvme,node-name=nvme0,device=0000:08:00.0,namespace=1 \
--blockdev driver=raw,node-name=l1-1,file=nvme0,offset=0,size=1073741824 \
--blockdev
driver=raw,node-name=l1-2,file=nvme0,offset=1073741824,size=1073741824 \
--nbd-server addr.type=unix,addr.path=/tmp/nbd.sock,max-connections=2 \
--export type=nbd,id=nbd-l1-1,node-name=l1-1,name=l1-1,writable=on \
--export type=nbd,id=nbd-l1-2,node-name=l1-2,name=l1-2,writable=on
qemu-storage-daemon: --export
type=nbd,id=nbd-l1-1,node-name=l1-1,name=l1-1,writable=on: Permission conflict
on node 'nvme0': permissions 'resize' are both required by node 'l1-1' (uses
node 'nvme0' as 'file' child) and unshared by node 'l1-2' (uses node 'nvme0' as
'file' child).
The problem is that block/raw-format.c relies on bdrv_default_perms() to
set permissions on the nvme node. The default permissions add RESIZE in
anticipation of a format driver like qcow2 that needs to grow the image
file. This fails because RESIZE is unshared, so we cannot get the RESIZE
permission.
Max Reitz pointed out that block/crypto.c already handles this case by
implementing a custom ->bdrv_child_perm() function that adjusts the
result of bdrv_default_perms().
This patch takes the same approach in block/raw-format.c so that RESIZE
is only required if it's actually necessary (e.g. the parent is qcow2).
Cc: Max Reitz <mreitz@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20210726122839.822900-1-stefanha@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 06aad78b825cc25329411b10c159f96819ce39a1
https://github.com/qemu/qemu/commit/06aad78b825cc25329411b10c159f96819ce39a1
Author: John Snow <jsnow@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/iotests.py
Log Message:
-----------
iotests: use with-statement for open() calls
Silences a new pylint warning. The dangers of *not* doing this are
somewhat unclear; I believe the file object gets garbage collected
eventually, but possibly the way in which it happens is
non-deterministic. Maybe this is a valid warning, but if there are
consequences of not doing it, I am not aware of them at present.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210720173336.1876937-2-jsnow@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 79da62b352a954405b0894b980355497d58c5c84
https://github.com/qemu/qemu/commit/79da62b352a954405b0894b980355497d58c5c84
Author: John Snow <jsnow@redhat.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/iotests.py
Log Message:
-----------
iotests: use subprocess.DEVNULL instead of open("/dev/null")
Avoids a warning from pylint not to use open() outside of a
with-statement, and is ... probably more portable anyway. Not that I
think we care too much about running tests *on* Windows, but... eh.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210720173336.1876937-3-jsnow@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: bd8f4c42c8547a74b0f92dc17af93c3247c69f18
https://github.com/qemu/qemu/commit/bd8f4c42c8547a74b0f92dc17af93c3247c69f18
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block.c
M include/block/block.h
Log Message:
-----------
block: introduce bdrv_replace_child_bs()
Add function to transactionally replace bs inside BdrvChild.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-2-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: ed089506eeb44fd7f7f385a9172e51b198ae489d
https://github.com/qemu/qemu/commit/ed089506eeb44fd7f7f385a9172e51b198ae489d
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/block-backend.c
M include/sysemu/block-backend.h
Log Message:
-----------
block: introduce blk_replace_bs
Add function to change bs inside blk.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-3-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: deb2bb163f798a4bc044be5e474792852cb0366b
https://github.com/qemu/qemu/commit/deb2bb163f798a4bc044be5e474792852cb0366b
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M hw/core/qdev-properties.c
M include/hw/qdev-properties.h
Log Message:
-----------
qdev-properties: PropertyInfo: add realized_set_allowed field
Add field, so property can declare support for setting the property
when device is realized. To be used in the following commit.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-4-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: d1a58c176a11b439007c3a23223757497c02c332
https://github.com/qemu/qemu/commit/d1a58c176a11b439007c3a23223757497c02c332
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M hw/core/qdev-properties-system.c
Log Message:
-----------
qdev: allow setting drive property for realized device
We need an ability to insert filters above top block node, attached to
block device. It can't be achieved with blockdev-reopen command. So, we
want do it with help of qom-set.
Intended usage:
Assume there is a node A that is attached to some guest device.
1. blockdev-add to create a filter node B that has A as its child.
2. qom-set to change the node attached to the guest device’s
BlockBackend from A to B.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-5-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: d003e0aeced533074341c88fe6b58f97f8136397
https://github.com/qemu/qemu/commit/d003e0aeced533074341c88fe6b58f97f8136397
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M MAINTAINERS
R block/backup-top.c
R block/backup-top.h
M block/backup.c
A block/copy-before-write.c
A block/copy-before-write.h
M block/meson.build
M tests/qemu-iotests/283
M tests/qemu-iotests/283.out
Log Message:
-----------
block: rename backup-top to copy-before-write
We are going to convert backup_top to full featured public filter,
which can be used in separate of backup job. Start from renaming from
"how it used" to "what it does".
While updating comments in 283 iotest, drop and rephrase also things
about ".active", as this field is now dropped, and filter doesn't have
"inactive" mode.
Note that this change may be considered as incompatible interface
change, as backup-top filter format name was visible through
query-block and query-named-block-nodes.
Still, consider the following reasoning:
1. backup-top was never documented, so if someone depends on format
name (for driver that can't be used other than it is automatically
inserted on backup job start), it's a kind of "undocumented feature
use". So I think we are free to change it.
2. There is a hope, that there is no such users: it's a lot more native
to give a good node-name to backup-top filter if need to operate
with it somehow, and don't touch format name.
3. Another "incompatible" change in further commit would be moving
copy-before-write filter from using backing child to file child. And
this is even more reasonable than renaming: for now all public
filters are file-child based.
So, it's a risky change, but risk seems small and good interface worth
it.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-6-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 49577723d40f56f7ac3d2f880423ae6652a2922d
https://github.com/qemu/qemu/commit/49577723d40f56f7ac3d2f880423ae6652a2922d
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/backup.c
M block/block-copy.c
M block/copy-before-write.c
M block/copy-before-write.h
M include/block/block-copy.h
Log Message:
-----------
block-copy: move detecting fleecing scheme to block-copy
We want to simplify initialization interface of copy-before-write
filter as we are going to make it public. So, let's detect fleecing
scheme exactly in block-copy code, to not pass this information through
extra levels.
Why not just set BDRV_REQ_SERIALISING unconditionally: because we are
going to implement new more efficient fleecing scheme which will not
rely on backing feature.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20210824083856.17408-7-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: f8b9504bac3a658af81cb19aec9572aa086799e2
https://github.com/qemu/qemu/commit/f8b9504bac3a658af81cb19aec9572aa086799e2
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/block-copy.c
M include/block/block-copy.h
Log Message:
-----------
block/block-copy: introduce block_copy_set_copy_opts()
We'll need a possibility to set compress and use_copy_range options
after initialization of the state. So make corresponding part of
block_copy_state_new() separate and public.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210824083856.17408-8-vsementsov@virtuozzo.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 2a6511dfeb0d1bd10211b264177afbc360f9bd9d
https://github.com/qemu/qemu/commit/2a6511dfeb0d1bd10211b264177afbc360f9bd9d
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/backup.c
M block/copy-before-write.c
M block/copy-before-write.h
Log Message:
-----------
block/backup: set copy_range and compress after filter insertion
We are going to publish copy-before-write filter, so it would be
initialized through options. Still we don't want to publish compress
and copy-range options, as
1. Modern way to enable compression is to use compress filter.
2. For copy-range it's unclean how to make proper interface:
- it's has experimental prefix for backup job anyway
- the whole BackupPerf structure doesn't make sense for the filter
So, let's just add copy-range possibility to the filter later if
needed.
Still, we are going to continue support for compression and
experimental copy-range in backup job. So, set these options after
filter creation.
Note, that we can drop "compress" argument of bdrv_cbw_append() now, as
well as "perf". The only reason not doing so is that now, when I
prepare this patch the big series around it is already reviewed and I
want to avoid extra rebase conflicts to simplify review of the
following version.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20210824083856.17408-9-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: b518e9e9ef7a28aa559a05d44dd734e83ae75f9d
https://github.com/qemu/qemu/commit/b518e9e9ef7a28aa559a05d44dd734e83ae75f9d
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/backup.c
M block/block-copy.c
M block/copy-before-write.c
M block/copy-before-write.h
M include/block/block-copy.h
Log Message:
-----------
block/backup: move cluster size calculation to block-copy
The main consumer of cluster-size is block-copy. Let's calculate it
here instead of passing through backup-top.
We are going to publish copy-before-write filter soon, so it will be
created through options. But we don't want for now to make explicit
option for cluster-size, let's continue to calculate it automatically.
So, now is the time to get rid of cluster_size argument for
bdrv_cbw_append().
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-10-vsementsov@virtuozzo.com>
[hreitz: Add qemu/error-report.h include to block/block-copy.c]
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 3860c0201924d9f7f9b125b8bdda8a8627de4a08
https://github.com/qemu/qemu/commit/3860c0201924d9f7f9b125b8bdda8a8627de4a08
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/copy-before-write.c
M tests/qemu-iotests/283.out
Log Message:
-----------
block/copy-before-write: relax permission requirements when no parents
We are going to publish copy-before-write filter. So, user should be
able to create it with blockdev-add first, specifying both filtered and
target children. And then do blockdev-reopen, to actually insert the
filter where needed.
Currently, filter unshares write permission unconditionally on source
node. It's good, but it will not allow to do blockdev-add. So, let's
relax restrictions when filter doesn't have any parent.
Test output is modified, as now permission conflict happens only when
job creates a blk parent for filter node.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-11-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 451532311a6c37ac58794305c88307bd7c54526f
https://github.com/qemu/qemu/commit/451532311a6c37ac58794305c88307bd7c54526f
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/copy-before-write.c
Log Message:
-----------
block/copy-before-write: drop extra bdrv_unref on failure path
bdrv_attach_child() do bdrv_unref() on failure, so we shouldn't do it
by hand here.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-12-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 3c1e63277e0e8528967ee179b63ef214d3a9a683
https://github.com/qemu/qemu/commit/3c1e63277e0e8528967ee179b63ef214d3a9a683
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/copy-before-write.c
Log Message:
-----------
block/copy-before-write: use file child instead of backing
We are going to publish copy-before-write filter, and there no public
backing-child-based filter in Qemu. No reason to create a precedent, so
let's refactor copy-before-write filter instead.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-13-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 7ddbce2dec96f1d881db0a81541072a23d2b89b4
https://github.com/qemu/qemu/commit/7ddbce2dec96f1d881db0a81541072a23d2b89b4
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/copy-before-write.c
Log Message:
-----------
block/copy-before-write: bdrv_cbw_append(): replace child at last
Refactor the function to replace child at last. Thus we don't need to
revert it and code is simplified.
block-copy state initialization being done before replacing the child
doesn't need any drained section.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-14-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 1f0cacb967bffc0d1284a2a5c6025b09f9a0f091
https://github.com/qemu/qemu/commit/1f0cacb967bffc0d1284a2a5c6025b09f9a0f091
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/copy-before-write.c
Log Message:
-----------
block/copy-before-write: introduce cbw_init()
Move part of bdrv_cbw_append() to new function cbw_open(). It's an
intermediate step for adding normal .bdrv_open() handler to the
filter. With this commit no logic is changed, but we have a function
which will be turned into .bdrv_open() handler in future commit.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-15-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: fe7ea40c0ea62d9d4542e6e091186cd60088d3fb
https://github.com/qemu/qemu/commit/fe7ea40c0ea62d9d4542e6e091186cd60088d3fb
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/copy-before-write.c
Log Message:
-----------
block/copy-before-write: cbw_init(): rename variables
One more step closer to real .bdrv_open() handler: use more usual names
for bs being initialized and its state.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-16-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 5a507426740b4d7bdd2b333cfa7f5da3e60ebad8
https://github.com/qemu/qemu/commit/5a507426740b4d7bdd2b333cfa7f5da3e60ebad8
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/copy-before-write.c
Log Message:
-----------
block/copy-before-write: cbw_init(): use file child after attaching
In the next commit we'll get rid of source argument of cbw_init().
Prepare to it now, to make next commit simpler: move the code block
that uses source below attaching the child and use bs->file->bs instead
of source variable.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-17-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 4c1e992bf2efa69394b5f2780a909f8ca1a6f722
https://github.com/qemu/qemu/commit/4c1e992bf2efa69394b5f2780a909f8ca1a6f722
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/backup.c
M block/copy-before-write.c
M block/copy-before-write.h
Log Message:
-----------
block/copy-before-write: bdrv_cbw_append(): drop unused compress arg
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20210824083856.17408-18-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: f44fd7399cf35b2d4e8f264de508e8119c76a14a
https://github.com/qemu/qemu/commit/f44fd7399cf35b2d4e8f264de508e8119c76a14a
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/copy-before-write.c
Log Message:
-----------
block/copy-before-write: cbw_init(): use options
One more step closer to .bdrv_open(): use options instead of plain
arguments. Move to bdrv_open_child() calls, native for drive open
handlers.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20210824083856.17408-19-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 06e0a9c16405c0a4c1eca33cf286cc04c42066a2
https://github.com/qemu/qemu/commit/06e0a9c16405c0a4c1eca33cf286cc04c42066a2
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/backup.c
M block/copy-before-write.c
Log Message:
-----------
block/copy-before-write: initialize block-copy bitmap
We are going to publish copy-before-write filter to be used in separate
of backup. Future step would support bitmap for the filter. But let's
start from full set bitmap.
We have to modify backup, as bitmap is first initialized by
copy-before-write filter, and then backup modifies it.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-20-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 201b4bb6c78b5845ec7a77fca1714a599dd76849
https://github.com/qemu/qemu/commit/201b4bb6c78b5845ec7a77fca1714a599dd76849
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/block-copy.c
Log Message:
-----------
block/block-copy: make setting progress optional
Now block-copy will crash if user don't set progress meter by
block_copy_set_progress_meter(). copy-before-write filter will be used
in separate of backup job, and it doesn't want any progress meter (for
now). So, allow not setting it.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-21-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 751cec7a261adaf1145dc7adf6de7c9c084e5a0b
https://github.com/qemu/qemu/commit/751cec7a261adaf1145dc7adf6de7c9c084e5a0b
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/copy-before-write.c
Log Message:
-----------
block/copy-before-write: make public block driver
Finally, copy-before-write gets own .bdrv_open and .bdrv_close
handlers, block_init() call and becomes available through bdrv_open().
To achieve this:
- cbw_init gets unused flags argument and becomes cbw_open
- block_copy_state_free() call moved to new cbw_close()
- in bdrv_cbw_append:
- options are completed with driver and node-name, and we can simply
use bdrv_insert_node() to do both open and drained replacing
- in bdrv_cbw_drop:
- cbw_close() is now responsible for freeing s->bcs, so don't do it
here
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-22-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 783b2825f6e493071aaed0f940fe359ec8a42fe0
https://github.com/qemu/qemu/commit/783b2825f6e493071aaed0f940fe359ec8a42fe0
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M qapi/block-core.json
Log Message:
-----------
qapi: publish copy-before-write filter
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20210824083856.17408-23-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: c7daa57eb57e24a9427f636906f4faf2cfcbe943
https://github.com/qemu/qemu/commit/c7daa57eb57e24a9427f636906f4faf2cfcbe943
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M python/qemu/machine/machine.py
Log Message:
-----------
python/qemu/machine.py: refactor _qemu_args()
- use shorter construction
- don't create new dict if not needed
- drop extra unpacking key-val arguments
- drop extra default values
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Message-Id: <20210824083856.17408-24-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 3f3c9b4c9dcb462b2330e50cf81b9703288884ec
https://github.com/qemu/qemu/commit/3f3c9b4c9dcb462b2330e50cf81b9703288884ec
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M python/qemu/machine/machine.py
Log Message:
-----------
python/qemu/machine: QEMUMachine: improve qmp() method
We often call qmp() with unpacking dict, like qmp('foo', **{...}).
mypy don't really like it, it thinks that passed unpacked dict is a
positional argument and complains that it type should be bool (because
second argument of qmp() is conv_keys: bool).
Allow passing dict directly, simplifying interface, and giving a way to
satisfy mypy.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Message-Id: <20210824083856.17408-25-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 15c3b863ee6393fa326c142b725cff88bb3e719e
https://github.com/qemu/qemu/commit/15c3b863ee6393fa326c142b725cff88bb3e719e
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M python/qemu/machine/machine.py
Log Message:
-----------
python:QEMUMachine: template typing for self returning methods
mypy thinks that return value of these methods in subclusses is
QEMUMachine, which is wrong. So, make typing smarter.
Suggested-by: John Snow <jsnow@redhat.com>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210824083856.17408-26-vsementsov@virtuozzo.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: f08ef04371b9abf38e84385ced274dd4727e55a4
https://github.com/qemu/qemu/commit/f08ef04371b9abf38e84385ced274dd4727e55a4
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/222
M tests/qemu-iotests/297
Log Message:
-----------
iotests/222: fix pylint and mypy complains
Here:
- long line
- move to new interface of vm.qmp() (direct passing dict), to avoid
mypy false-positive, as it thinks that unpacked dict is a positional
argument.
- extra parenthesis
- handle event_wait possible None value
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-27-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: bb053e47246324a28940b57ed084dca297b1c9a9
https://github.com/qemu/qemu/commit/bb053e47246324a28940b57ed084dca297b1c9a9
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/222
Log Message:
-----------
iotests/222: constantly use single quotes for strings
The file use both single and double quotes for strings. Let's be
consistent.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-28-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: c88f078948008e9fb700c96eb957b895ea1a873b
https://github.com/qemu/qemu/commit/c88f078948008e9fb700c96eb957b895ea1a873b
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M .gitlab-ci.d/buildtest.yml
R tests/qemu-iotests/222
R tests/qemu-iotests/222.out
A tests/qemu-iotests/tests/image-fleecing
A tests/qemu-iotests/tests/image-fleecing.out
Log Message:
-----------
iotests: move 222 to tests/image-fleecing
Give a good name to test file.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-29-vsementsov@virtuozzo.com>
[hreitz: Adjust .gitlab-ci.d/buildtest.yml]
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: e89c0c8de38f8c2dca22293aaf5e2c8ad74eb39c
https://github.com/qemu/qemu/commit/e89c0c8de38f8c2dca22293aaf5e2c8ad74eb39c
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/iotests.py
Log Message:
-----------
iotests.py: hmp_qemu_io: support qdev
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Message-Id: <20210824083856.17408-30-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: b23c3b1459e423159027fb413527dc0bf60acedf
https://github.com/qemu/qemu/commit/b23c3b1459e423159027fb413527dc0bf60acedf
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/tests/image-fleecing
M tests/qemu-iotests/tests/image-fleecing.out
Log Message:
-----------
iotests/image-fleecing: proper source device
Define scsi device to operate with it by qom-set in further patch.
Give a new node-name to source block node, to not look like device
name.
Job now don't want to work without giving explicit id, so, let's call
it "fleecing".
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-31-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 66b63809fa71c6880f9ec4fa3d32e35c79699ae6
https://github.com/qemu/qemu/commit/66b63809fa71c6880f9ec4fa3d32e35c79699ae6
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/tests/image-fleecing
Log Message:
-----------
iotests/image-fleecing: rename tgt_node
Actually target of backup(sync=None) is not a final backup target:
image fleecing is intended to be used with external tool, which will
copy data from fleecing node to some real backup target.
Also, we are going to add a test case for "push backup with fleecing",
where instead of exporting fleecing node by NBD, we'll start a backup
job from fleecing node to real backup target.
To avoid confusion, let's rename temporary fleecing node now.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-32-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 32f84b40ab54188852c8ea0dd9f70bf316a2f226
https://github.com/qemu/qemu/commit/32f84b40ab54188852c8ea0dd9f70bf316a2f226
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/tests/image-fleecing
Log Message:
-----------
iotests/image-fleecing: prepare for adding new test-case
We are going to add a test-case with some behavior modifications. So,
let's prepare a function to be reused.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-33-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: c0605985696a19ef034fa25d04f53f3b3b383896
https://github.com/qemu/qemu/commit/c0605985696a19ef034fa25d04f53f3b3b383896
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M tests/qemu-iotests/tests/image-fleecing
M tests/qemu-iotests/tests/image-fleecing.out
Log Message:
-----------
iotests/image-fleecing: add test-case for copy-before-write filter
New fleecing method becomes available: copy-before-write filter.
Actually we don't need backup job to setup image fleecing. Add test
for new recommended way of image fleecing.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210824083856.17408-34-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: abde8ac2a506bbcfedb819d4c43ea1e3ac20cc87
https://github.com/qemu/qemu/commit/abde8ac2a506bbcfedb819d4c43ea1e3ac20cc87
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/block-copy.c
M block/copy-before-write.c
M include/block/block-copy.h
Log Message:
-----------
block/block-copy: block_copy_state_new(): drop extra arguments
The only caller pass copy_range and compress both false. Let's just
drop these arguments.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210824083856.17408-35-vsementsov@virtuozzo.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 28031d5c7427aec6d6138920b92c59b999a349ed
https://github.com/qemu/qemu/commit/28031d5c7427aec6d6138920b92c59b999a349ed
Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/export/fuse.c
Log Message:
-----------
block/export/fuse.c: fix fuse-lseek on uclibc or musl
Include linux/fs.h to avoid the following build failure on uclibc or
musl raised since version 6.0.0:
../block/export/fuse.c: In function 'fuse_lseek':
../block/export/fuse.c:641:19: error: 'SEEK_HOLE' undeclared (first use in this
function)
641 | if (whence != SEEK_HOLE && whence != SEEK_DATA) {
| ^~~~~~~~~
../block/export/fuse.c:641:19: note: each undeclared identifier is reported
only once for each function it appears in
../block/export/fuse.c:641:42: error: 'SEEK_DATA' undeclared (first use in this
function); did you mean 'SEEK_SET'?
641 | if (whence != SEEK_HOLE && whence != SEEK_DATA) {
| ^~~~~~~~~
| SEEK_SET
Fixes:
-
http://autobuild.buildroot.org/results/33c90ebf04997f4d3557cfa66abc9cf9a3076137
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Message-Id: <20210827220301.272887-1-fontaine.fabrice@gmail.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: ebd979c74e2b8a7275090475df36dde4ab858320
https://github.com/qemu/qemu/commit/ebd979c74e2b8a7275090475df36dde4ab858320
Author: Viktor Prutyanov <viktor.prutyanov@phystech.edu>
Date: 2021-09-01 (Wed, 01 Sep 2021)
Changed paths:
M block/file-win32.c
Log Message:
-----------
block/file-win32: add reopen handlers
Make 'qemu-img commit' work on Windows.
Command 'commit' requires reopening backing file in RW mode. So,
add reopen prepare/commit/abort handlers and change dwShareMode
for CreateFile call in order to allow further read/write reopening.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/418
Suggested-by: Hanna Reitz <hreitz@redhat.com>
Signed-off-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu>
Tested-by: Helge Konetzka <hk@zapateado.de>
Message-Id: <20210825173625.19415-1-viktor.prutyanov@phystech.edu>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Commit: 9093028dd48c50bc0392791f78aab44afef57ead
https://github.com/qemu/qemu/commit/9093028dd48c50bc0392791f78aab44afef57ead
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2021-09-02 (Thu, 02 Sep 2021)
Changed paths:
M .gitlab-ci.d/buildtest.yml
M MAINTAINERS
M block.c
R block/backup-top.c
R block/backup-top.h
M block/backup.c
M block/block-backend.c
M block/block-copy.c
A block/copy-before-write.c
A block/copy-before-write.h
M block/export/fuse.c
M block/file-win32.c
M block/meson.build
M block/monitor/block-hmp-cmds.c
M block/raw-format.c
M docs/devel/testing.rst
M hw/core/qdev-properties-system.c
M hw/core/qdev-properties.c
M include/block/block-copy.h
M include/block/block.h
M include/hw/qdev-properties.h
M include/sysemu/block-backend.h
M python/qemu/machine/machine.py
M python/qemu/machine/qtest.py
M python/setup.cfg
M qapi/block-core.json
R tests/qemu-iotests/222
R tests/qemu-iotests/222.out
M tests/qemu-iotests/283
M tests/qemu-iotests/283.out
M tests/qemu-iotests/297
M tests/qemu-iotests/check
M tests/qemu-iotests/common.qemu
M tests/qemu-iotests/common.rc
M tests/qemu-iotests/iotests.py
M tests/qemu-iotests/testenv.py
A tests/qemu-iotests/tests/image-fleecing
A tests/qemu-iotests/tests/image-fleecing.out
Log Message:
-----------
Merge remote-tracking branch 'remotes/hreitz/tags/pull-block-2021-09-01' into
staging
Block patches:
- Make the backup-top filter driver available for user-created block
nodes (i.e. via blockdev-add)
- Allow running iotests with gdb or valgrind being attached to qemu
instances
- Fix the raw format driver's permissions: There is no metadata, so we
only need WRITE or RESIZE when the parent needs it
- Basic reopen implementation for win32 files (file-win32.c) so that
qemu-img commit can work
- uclibc/musl build fix for the FUSE export code
- Some iotests delinting
- block-hmp-cmds.c refactoring
# gpg: Signature made Wed 01 Sep 2021 16:01:54 BST
# gpg: using RSA key CB62D7A0EE3829E45F004D34A1FA40D098019CDF
# gpg: issuer "hreitz@redhat.com"
# gpg: Good signature from "Hanna Reitz <hreitz@redhat.com>" [marginal]
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg: It is not certain that the signature belongs to the owner.
# Primary key fingerprint: CB62 D7A0 EE38 29E4 5F00 4D34 A1FA 40D0 9801 9CDF
* remotes/hreitz/tags/pull-block-2021-09-01: (56 commits)
block/file-win32: add reopen handlers
block/export/fuse.c: fix fuse-lseek on uclibc or musl
block/block-copy: block_copy_state_new(): drop extra arguments
iotests/image-fleecing: add test-case for copy-before-write filter
iotests/image-fleecing: prepare for adding new test-case
iotests/image-fleecing: rename tgt_node
iotests/image-fleecing: proper source device
iotests.py: hmp_qemu_io: support qdev
iotests: move 222 to tests/image-fleecing
iotests/222: constantly use single quotes for strings
iotests/222: fix pylint and mypy complains
python:QEMUMachine: template typing for self returning methods
python/qemu/machine: QEMUMachine: improve qmp() method
python/qemu/machine.py: refactor _qemu_args()
qapi: publish copy-before-write filter
block/copy-before-write: make public block driver
block/block-copy: make setting progress optional
block/copy-before-write: initialize block-copy bitmap
block/copy-before-write: cbw_init(): use options
block/copy-before-write: bdrv_cbw_append(): drop unused compress arg
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/59a89510b62e...9093028dd48c