Branch: refs/heads/master Home: https://github.com/qemu/qemu Commit: a6297e1ade6d9981c4a8d43eb426830b49a7913c https://github.com/qemu/qemu/commit/a6297e1ade6d9981c4a8d43eb426830b49a7913c Author: Emanuele Giuseppe Esposito <eespo...@redhat.com> Date: 2021-10-06 (Wed, 06 Oct 2021)
Changed paths: M include/block/block.h Log Message: ----------- include/block.h: remove outdated comment There are a couple of errors in bdrv_drained_begin header comment: - block_job_pause does not exist anymore, it has been replaced with job_pause in b15de82867 - job_pause is automatically invoked as a .drained_begin callback (child_job_drained_begin) by the child_job BdrvChildClass struct in blockjob.c. So no additional pause should be required. Signed-off-by: Emanuele Giuseppe Esposito <eespo...@redhat.com> Message-Id: <20210903113800.59970-1-eespo...@redhat.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: d1bbd965bd96028b0f5a8e3dc01b37f1f8ae4456 https://github.com/qemu/qemu/commit/d1bbd965bd96028b0f5a8e3dc01b37f1f8ae4456 Author: Philippe Mathieu-Daudé <phi...@redhat.com> Date: 2021-10-06 (Wed, 06 Oct 2021) Changed paths: M storage-daemon/qemu-storage-daemon.c Log Message: ----------- qemu-storage-daemon: Only display FUSE help when FUSE is built-in When configuring QEMU with --disable-fuse, the qemu-storage-daemon still reports FUSE command line options in its help: $ qemu-storage-daemon -h Usage: qemu-storage-daemon [options] QEMU storage daemon --export [type=]fuse,id=<id>,node-name=<node-name>,mountpoint=<file> [,growable=on|off][,writable=on|off] export the specified block node over FUSE Remove this help message when FUSE is disabled, to avoid: $ qemu-storage-daemon --export fuse qemu-storage-daemon: --export fuse: Invalid parameter 'fuse' Reported-by: Qing Wang <qinw...@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> Message-Id: <20210816180442.2000642-1-phi...@redhat.com> Reviewed-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Hanna Reitz <hre...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: 621d17378a40509757d5e03eb1c2f5305ff76df3 https://github.com/qemu/qemu/commit/621d17378a40509757d5e03eb1c2f5305ff76df3 Author: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Date: 2021-10-06 (Wed, 06 Oct 2021) Changed paths: M block.c M include/block/block.h Log Message: ----------- block: implement bdrv_new_open_driver_opts() Add version of bdrv_new_open_driver() that supports QDict options. We'll use it in further commit. Simply add one more argument to bdrv_new_open_driver() is worse, as there are too many invocations of bdrv_new_open_driver() to update then. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Suggested-by: Kevin Wolf <kw...@redhat.com> Message-Id: <20210920115538.264372-2-vsement...@virtuozzo.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: f053b7e8005d7f72c2a8e686c4779f75b0ae631f https://github.com/qemu/qemu/commit/f053b7e8005d7f72c2a8e686c4779f75b0ae631f Author: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Date: 2021-10-06 (Wed, 06 Oct 2021) Changed paths: M block.c Log Message: ----------- block: bdrv_insert_node(): fix and improve error handling - use ERRP_GUARD(): function calls error_prepend(), so it must use ERRP_GUARD(), otherwise error_prepend() would not be called when passed errp is error_fatal - drop error propagation, handle return code instead - for symmetry, do error_prepend() for the second failure Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Message-Id: <20210920115538.264372-3-vsement...@virtuozzo.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: 96796fae6f22931d91223d086e9fa56d0f3e6720 https://github.com/qemu/qemu/commit/96796fae6f22931d91223d086e9fa56d0f3e6720 Author: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Date: 2021-10-06 (Wed, 06 Oct 2021) Changed paths: M block.c Log Message: ----------- block: bdrv_insert_node(): doc and style - options & flags is common pair for open-like functions, let's use it - add a comment that specifies use of @options Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Message-Id: <20210920115538.264372-4-vsement...@virtuozzo.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: b11c8739ae38166acac0669cee94b7e236ccb639 https://github.com/qemu/qemu/commit/b11c8739ae38166acac0669cee94b7e236ccb639 Author: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Date: 2021-10-06 (Wed, 06 Oct 2021) Changed paths: M block.c Log Message: ----------- block: bdrv_insert_node(): don't use bdrv_open() Use bdrv_new_open_driver_opts() instead of complicated bdrv_open(). Among other extra things bdrv_open() also check for white-listed formats, which we don't want for internal node creation: currently backup doesn't work when copy-before-write filter is not white-listed. As well block-stream doesn't work when copy-on-read is not white-listed. Fixes: 751cec7a261adaf1145dc7adf6de7c9c084e5a0b Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2004812 Reported-by: Yanan Fu Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Message-Id: <20210920115538.264372-5-vsement...@virtuozzo.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: d318fc20b2ecb785bfc74bd8ad9e0da9e47d2104 https://github.com/qemu/qemu/commit/d318fc20b2ecb785bfc74bd8ad9e0da9e47d2104 Author: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Date: 2021-10-06 (Wed, 06 Oct 2021) Changed paths: M tests/qemu-iotests/tests/image-fleecing Log Message: ----------- iotests/image-fleecing: declare requirement of copy-before-write Now test fails if copy-before-write is not white-listed. Let's skip test instead. Fixes: c0605985696a19ef034fa25d04f53f3b3b383896 Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Message-Id: <20210920115538.264372-6-vsement...@virtuozzo.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: cc071629539dc1f303175a7e2d4ab854c0a8b20f https://github.com/qemu/qemu/commit/cc071629539dc1f303175a7e2d4ab854c0a8b20f Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2021-10-06 (Wed, 06 Oct 2021) Changed paths: M block/block-backend.c M block/file-posix.c M block/io.c M hw/scsi/scsi-generic.c M include/block/block_int.h M include/sysemu/block-backend.h Log Message: ----------- block: introduce max_hw_iov for use in scsi-generic Linux limits the size of iovecs to 1024 (UIO_MAXIOV in the kernel sources, IOV_MAX in POSIX). Because of this, on some host adapters requests with many iovecs are rejected with -EINVAL by the io_submit() or readv()/writev() system calls. In fact, the same limit applies to SG_IO as well. To fix both the EINVAL and the possible performance issues from using fewer iovecs than allowed by Linux (some HBAs have max_segments as low as 128), introduce a separate entry in BlockLimits to hold the max_segments value from sysfs. This new limit is used only for SG_IO and clamped to bs->bl.max_iov anyway, just like max_hw_transfer is clamped to bs->bl.max_transfer. Reported-by: Halil Pasic <pa...@linux.ibm.com> Cc: Hanna Reitz <hre...@redhat.com> Cc: Kevin Wolf <kw...@redhat.com> Cc: qemu-bl...@nongnu.org Cc: qemu-sta...@nongnu.org Fixes: 18473467d5 ("file-posix: try BLKSECTGET on block devices too, do not round to power of 2", 2021-06-25) Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Message-Id: <20210923130436.1187591-1-pbonz...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: af6d4c56e15a45fb4d0cdf8d0335275b5ed8fbf7 https://github.com/qemu/qemu/commit/af6d4c56e15a45fb4d0cdf8d0335275b5ed8fbf7 Author: John Snow <js...@redhat.com> Date: 2021-10-06 (Wed, 06 Oct 2021) Changed paths: M tests/qemu-iotests/235 M tests/qemu-iotests/297 M tests/qemu-iotests/300 M tests/qemu-iotests/iotests.py M tests/qemu-iotests/testenv.py M tests/qemu-iotests/tests/mirror-top-perms Log Message: ----------- iotests: add 'qemu' package location to PYTHONPATH in testenv We can drop the sys.path hacking in various places by doing this. Additionally, by doing it in one place right up top, we can print interesting warnings in case the environment does not look correct. (See next commit.) If we ever decide to change how the environment is crafted, all of the "help me find my python packages" goop is all in one place, right in one function. Signed-off-by: John Snow <js...@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Kevin Wolf <kw...@redhat.com> Message-Id: <20210923180715.4168522-2-js...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: f39decb583669e4335eaf2d1a5b8183254df51d6 https://github.com/qemu/qemu/commit/f39decb583669e4335eaf2d1a5b8183254df51d6 Author: John Snow <js...@redhat.com> Date: 2021-10-06 (Wed, 06 Oct 2021) Changed paths: M tests/qemu-iotests/297 Log Message: ----------- iotests/linters: check mypy files all at once We can circumvent the '__main__' redefinition problem by passing --scripts-are-modules. Take mypy out of the loop per-filename and check everything in one go: it's quite a bit faster. Signed-off-by: John Snow <js...@redhat.com> Reviewed-by: Hanna Reitz <hre...@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Kevin Wolf <kw...@redhat.com> Message-Id: <20210923180715.4168522-4-js...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: ac7424631943c0c015934a3c92dca87b70f8f8e9 https://github.com/qemu/qemu/commit/ac7424631943c0c015934a3c92dca87b70f8f8e9 Author: John Snow <js...@redhat.com> Date: 2021-10-06 (Wed, 06 Oct 2021) Changed paths: M tests/qemu-iotests/tests/mirror-top-perms Log Message: ----------- iotests/mirror-top-perms: Adjust imports We need to import subpackages from the qemu namespace package; importing the namespace package alone doesn't bring the subpackages with it -- unless someone else (like iotests.py) imports them too. Adjust the imports. Signed-off-by: John Snow <js...@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> Reviewed-by: Hanna Reitz <hre...@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Kevin Wolf <kw...@redhat.com> Message-Id: <20210923180715.4168522-5-js...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: 22968996946d1a4eaca7396099ba40867bb58642 https://github.com/qemu/qemu/commit/22968996946d1a4eaca7396099ba40867bb58642 Author: John Snow <js...@redhat.com> Date: 2021-10-06 (Wed, 06 Oct 2021) Changed paths: M tests/qemu-iotests/tests/migrate-bitmaps-test Log Message: ----------- iotests/migrate-bitmaps-test: delint Mostly uninteresting stuff. Move the test injections under a function named main() so that the variables used during that process aren't in the global scope. Signed-off-by: John Snow <js...@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> Reviewed-by: Hanna Reitz <hre...@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Kevin Wolf <kw...@redhat.com> Message-Id: <20210923180715.4168522-6-js...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: 3765315d4c84f9c0799744f43a314169baaccc05 https://github.com/qemu/qemu/commit/3765315d4c84f9c0799744f43a314169baaccc05 Author: John Snow <js...@redhat.com> Date: 2021-10-06 (Wed, 06 Oct 2021) Changed paths: M tests/qemu-iotests/pylintrc M tests/qemu-iotests/testrunner.py Log Message: ----------- iotests: Update for pylint 2.11.1 1. Ignore the new f-strings warning, we're not interested in doing a full conversion at this time. 2. Just mute the unbalanced-tuple-unpacking warning, it's not a real error in this case and muting the dozens of callsites is just not worth it. 3. Add encodings to read_text(). Signed-off-by: John Snow <js...@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Kevin Wolf <kw...@redhat.com> Message-Id: <20210923180715.4168522-7-js...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: 5564f068162d67584a8c35e1efcc051483b9077d https://github.com/qemu/qemu/commit/5564f068162d67584a8c35e1efcc051483b9077d Author: Richard Henderson <richard.hender...@linaro.org> Date: 2021-10-06 (Wed, 06 Oct 2021) Changed paths: M block.c M block/block-backend.c M block/file-posix.c M block/io.c M hw/scsi/scsi-generic.c M include/block/block.h M include/block/block_int.h M include/sysemu/block-backend.h M storage-daemon/qemu-storage-daemon.c M tests/qemu-iotests/235 M tests/qemu-iotests/297 M tests/qemu-iotests/300 M tests/qemu-iotests/iotests.py M tests/qemu-iotests/pylintrc M tests/qemu-iotests/testenv.py M tests/qemu-iotests/testrunner.py M tests/qemu-iotests/tests/image-fleecing M tests/qemu-iotests/tests/migrate-bitmaps-test M tests/qemu-iotests/tests/mirror-top-perms Log Message: ----------- Merge remote-tracking branch 'remotes/kwolf/tags/for-upstream' into staging Block layer patches - Fix I/O errors because of incorrectly detected max_iov - Fix not white-listed copy-before-write - qemu-storage-daemon: Only display FUSE help when FUSE is built-in - iotests: update environment and linting configuration # gpg: Signature made Wed 06 Oct 2021 03:58:10 AM PDT # gpg: using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6 # gpg: issuer "kw...@redhat.com" # gpg: Good signature from "Kevin Wolf <kw...@redhat.com>" [full] * remotes/kwolf/tags/for-upstream: iotests: Update for pylint 2.11.1 iotests/migrate-bitmaps-test: delint iotests/mirror-top-perms: Adjust imports iotests/linters: check mypy files all at once iotests: add 'qemu' package location to PYTHONPATH in testenv block: introduce max_hw_iov for use in scsi-generic iotests/image-fleecing: declare requirement of copy-before-write block: bdrv_insert_node(): don't use bdrv_open() block: bdrv_insert_node(): doc and style block: bdrv_insert_node(): fix and improve error handling block: implement bdrv_new_open_driver_opts() qemu-storage-daemon: Only display FUSE help when FUSE is built-in include/block.h: remove outdated comment Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Compare: https://github.com/qemu/qemu/compare/e3acc2c1961c...5564f068162d