]> git.proxmox.com Git - pve-qemu.git/commit
update submodule and patches to QEMU 8.0.0
authorFiona Ebner <f.ebner@proxmox.com>
Mon, 15 May 2023 13:39:53 +0000 (15:39 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 22 May 2023 13:09:14 +0000 (15:09 +0200)
commitbf251437e96127c0d59b8fcc26985b1cc1d248a5
tree6fdb05ad09042cf9de9c10fbd155b3b560805afa
parentfb818ea5b9228f75c14b96db90fcc9a414f92d41
update submodule and patches to QEMU 8.0.0

Many changes were necessary this time around:

* QAPI was changed to avoid redundant has_* variables, see commit
44ea9d9be3 ("qapi: Start to elide redundant has_FOO in generated C")
for details. This affected many QMP commands added by Proxmox too.

* Pending querying for migration got split into two functions, one to
estimate, one for exact value, see commit c8df4a7aef ("migration:
Split save_live_pending() into state_pending_*") for details. Relevant
for savevm-async and PBS dirty bitmap.

* Some block (driver) functions got converted to coroutines, so the
Proxmox block drivers needed to be adapted.

* Alloc track auto-detaching during PBS live restore got broken by
AioContext-related changes resulting in a deadlock. The current, hacky
method was replaced by a simpler one. Stefan apparently ran into a
problem with that when he wrote the driver, but there were
improvements in the stream job code since then and I didn't manage to
reproduce the issue. It's a separate patch "alloc-track: fix deadlock
during drop" for now, you can find the details there.

* Async snapshot-related changes:
  - The pending querying got adapted to the above-mentioned split and
  a patch is added to optimize it/make it more similar to what
  upstream code does.
  - Added initialization of the compression counters (for
    future-proofing).
  - It's necessary the hold the BQL (big QEMU lock = iothread mutex)
  during the setup phase, because block layer functions are used there
  and not doing so leads to racy, hard-to-debug crashes or hangs. It's
  necessary to change some upstream code too for this, a version of
  the patch "migration: for snapshots, hold the BQL during setup
  callbacks" is intended to be upstreamed.
  - Need to take the bdrv graph read lock before flushing.

* hmp_info_balloon was moved to a different file.

* Needed to include a new headers from time to time to still get the
correct functions.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
102 files changed:
debian/patches/bitmap-mirror/0001-drive-mirror-add-support-for-sync-bitmap-mode-never.patch
debian/patches/bitmap-mirror/0002-drive-mirror-add-support-for-conditional-and-always-.patch
debian/patches/bitmap-mirror/0003-mirror-add-check-for-bitmap-mode-without-bitmap.patch
debian/patches/bitmap-mirror/0004-mirror-switch-to-bdrv_dirty_bitmap_merge_internal.patch
debian/patches/bitmap-mirror/0006-mirror-move-some-checks-to-qmp.patch
debian/patches/extra/0001-monitor-qmp-fix-race-with-clients-disconnecting-earl.patch
debian/patches/extra/0002-init-daemonize-defuse-PID-file-resolve-error.patch [deleted file]
debian/patches/extra/0002-memory-prevent-dma-reentracy-issues.patch [new file with mode: 0644]
debian/patches/extra/0003-scsi-megasas-Internal-cdbs-have-16-byte-length.patch [new file with mode: 0644]
debian/patches/extra/0003-virtio-mem-Fix-the-bitmap-index-of-the-section-offse.patch [deleted file]
debian/patches/extra/0004-ide-avoid-potential-deadlock-when-draining-during-tr.patch [new file with mode: 0644]
debian/patches/extra/0004-virtio-mem-Fix-the-iterator-variable-in-a-vmem-rdl_l.patch [deleted file]
debian/patches/extra/0005-memory-Allow-disabling-re-entrancy-checking-per-MR.patch [new file with mode: 0644]
debian/patches/extra/0005-vhost-fix-vq-dirty-bitmap-syncing-when-vIOMMU-is-ena.patch [deleted file]
debian/patches/extra/0006-lsi53c895a-disable-reentrancy-detection-for-script-R.patch [new file with mode: 0644]
debian/patches/extra/0006-virtio-rng-pci-fix-migration-compat-for-vectors.patch [deleted file]
debian/patches/extra/0007-block-fix-detect-zeroes-with-BDRV_REQ_REGISTERED_BUF.patch [deleted file]
debian/patches/extra/0008-memory-prevent-dma-reentracy-issues.patch [deleted file]
debian/patches/extra/0009-block-iscsi-fix-double-free-on-BUSY-or-similar-statu.patch [deleted file]
debian/patches/extra/0010-scsi-megasas-Internal-cdbs-have-16-byte-length.patch [deleted file]
debian/patches/extra/0011-ide-avoid-potential-deadlock-when-draining-during-tr.patch [deleted file]
debian/patches/extra/0012-hw-nvme-fix-missing-endian-conversions-for-doorbell-.patch [deleted file]
debian/patches/extra/0013-hw-smbios-fix-field-corruption-in-type-4-table.patch [deleted file]
debian/patches/extra/0014-virtio-rng-pci-fix-transitional-migration-compat-for.patch [deleted file]
debian/patches/extra/0015-hw-timer-hpet-Fix-expiration-time-overflow.patch [deleted file]
debian/patches/extra/0016-vdpa-stop-all-svq-on-device-deletion.patch [deleted file]
debian/patches/extra/0017-vhost-avoid-a-potential-use-of-an-uninitialized-vari.patch [deleted file]
debian/patches/extra/0018-chardev-char-socket-set-s-listener-NULL-in-char_sock.patch [deleted file]
debian/patches/extra/0019-intel-iommu-fail-MAP-notifier-without-caching-mode.patch [deleted file]
debian/patches/extra/0020-intel-iommu-fail-DEVIOTLB_UNMAP-without-dt-mode.patch [deleted file]
debian/patches/extra/0021-memory-Allow-disabling-re-entrancy-checking-per-MR.patch [deleted file]
debian/patches/extra/0022-lsi53c895a-disable-reentrancy-detection-for-script-R.patch [deleted file]
debian/patches/extra/0023-acpi-cpuhp-fix-guest-visible-maximum-access-size-to-.patch [deleted file]
debian/patches/extra/0024-tests-tcg-i386-Introduce-and-use-reg_t-consistently.patch [deleted file]
debian/patches/extra/0025-target-i386-Fix-BEXTR-instruction.patch [deleted file]
debian/patches/extra/0026-target-i386-Fix-C-flag-for-BLSI-BLSMSK-BLSR.patch [deleted file]
debian/patches/extra/0027-target-i386-fix-ADOX-followed-by-ADCX.patch [deleted file]
debian/patches/extra/0028-target-i386-Fix-BZHI-instruction.patch [deleted file]
debian/patches/pve/0001-PVE-Config-block-file-change-locking-default-to-off.patch
debian/patches/pve/0002-PVE-Config-Adjust-network-script-path-to-etc-kvm.patch
debian/patches/pve/0003-PVE-Config-set-the-CPU-model-to-kvm64-32-instead-of-.patch
debian/patches/pve/0004-PVE-Config-ui-spice-default-to-pve-certificates.patch
debian/patches/pve/0005-PVE-Config-glusterfs-no-default-logfile-if-daemonize.patch
debian/patches/pve/0006-PVE-Config-rbd-block-rbd-disable-rbd_cache_writethro.patch
debian/patches/pve/0007-PVE-Up-qmp-add-get_link_status.patch
debian/patches/pve/0008-PVE-Up-glusterfs-allow-partial-reads.patch
debian/patches/pve/0009-PVE-Up-qemu-img-return-success-on-info-without-snaps.patch
debian/patches/pve/0010-PVE-Up-qemu-img-dd-add-osize-and-read-from-to-stdin-.patch
debian/patches/pve/0011-PVE-Up-qemu-img-dd-add-isize-parameter.patch
debian/patches/pve/0012-PVE-Up-qemu-img-dd-add-n-skip_create.patch
debian/patches/pve/0013-PVE-virtio-balloon-improve-query-balloon.patch
debian/patches/pve/0014-PVE-qapi-modify-query-machines.patch
debian/patches/pve/0015-PVE-qapi-modify-spice-query.patch
debian/patches/pve/0016-PVE-add-IOChannel-implementation-for-savevm-async.patch
debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch
debian/patches/pve/0018-PVE-add-optional-buffer-size-to-QEMUFile.patch
debian/patches/pve/0019-PVE-block-add-the-zeroinit-block-driver-filter.patch
debian/patches/pve/0020-PVE-Add-dummy-id-command-line-parameter.patch
debian/patches/pve/0021-PVE-Config-Revert-target-i386-disable-LINT0-after-re.patch
debian/patches/pve/0022-PVE-Up-Config-file-posix-make-locking-optiono-on-cre.patch
debian/patches/pve/0024-PVE-Compat-4.0-used-balloon-qemu-4-0-config-size-fal.patch
debian/patches/pve/0025-PVE-Allow-version-code-in-machine-type.patch
debian/patches/pve/0026-block-backup-move-bcs-bitmap-initialization-to-job-c.patch
debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch
debian/patches/pve/0028-PVE-Backup-add-backup-dump-block-driver.patch
debian/patches/pve/0029-PVE-Backup-proxmox-backup-patches-for-qemu.patch
debian/patches/pve/0030-PVE-Backup-pbs-restore-new-command-to-restore-from-p.patch
debian/patches/pve/0031-PVE-Backup-Add-dirty-bitmap-tracking-for-incremental.patch
debian/patches/pve/0032-PVE-various-PBS-fixes.patch
debian/patches/pve/0033-PVE-Add-PBS-block-driver-to-map-backup-archives-into.patch
debian/patches/pve/0034-PVE-add-query_proxmox_support-QMP-command.patch
debian/patches/pve/0035-PVE-add-query-pbs-bitmap-info-QMP-call.patch
debian/patches/pve/0036-PVE-redirect-stderr-to-journal-when-daemonized.patch
debian/patches/pve/0038-PVE-Backup-Use-a-transaction-to-synchronize-job-stat.patch
debian/patches/pve/0039-PVE-Backup-Don-t-block-on-finishing-and-cleanup-crea.patch
debian/patches/pve/0040-PVE-Migrate-dirty-bitmap-state-via-savevm.patch
debian/patches/pve/0041-migration-block-dirty-bitmap-migrate-other-bitmaps-e.patch
debian/patches/pve/0042-PVE-fall-back-to-open-iscsi-initiatorname.patch
debian/patches/pve/0043-PVE-Use-coroutine-QMP-for-backup-cancel_backup.patch
debian/patches/pve/0044-PBS-add-master-key-support.patch
debian/patches/pve/0045-PVE-block-pbs-fast-path-reads-without-allocation-if-.patch
debian/patches/pve/0046-PVE-block-stream-increase-chunk-size.patch
debian/patches/pve/0047-block-io-accept-NULL-qiov-in-bdrv_pad_request.patch
debian/patches/pve/0048-block-add-alloc-track-driver.patch
debian/patches/pve/0049-PVE-savevm-async-register-yank-before-migration_inco.patch
debian/patches/pve/0050-qemu-img-dd-add-l-option-for-loading-a-snapshot.patch
debian/patches/pve/0052-pbs-namespace-support.patch
debian/patches/pve/0053-Revert-block-rbd-workaround-for-ceph-issue-53784.patch
debian/patches/pve/0054-Revert-block-rbd-fix-handling-of-holes-in-.bdrv_co_b.patch
debian/patches/pve/0055-Revert-block-rbd-implement-bdrv_co_block_status.patch
debian/patches/pve/0056-PVE-Backup-create-jobs-correctly-cancel-in-error-sce.patch
debian/patches/pve/0057-PVE-Backup-ensure-jobs-in-di_list-are-referenced.patch
debian/patches/pve/0058-PVE-Backup-avoid-segfault-issues-upon-backup-cancel.patch
debian/patches/pve/0061-block-alloc-track-avoid-premature-break.patch
debian/patches/pve/0062-PVE-Backup-allow-passing-max-workers-performance-set.patch
debian/patches/pve/0063-alloc-track-fix-deadlock-during-drop.patch [new file with mode: 0644]
debian/patches/pve/0064-savevm-async-optimize-querying-pending.patch [new file with mode: 0644]
debian/patches/pve/0065-savevm-async-also-initialize-compression-counters.patch [new file with mode: 0644]
debian/patches/pve/0066-migration-for-snapshots-hold-the-BQL-during-setup-ca.patch [new file with mode: 0644]
debian/patches/pve/0067-savevm-async-don-t-hold-BQL-during-setup.patch [new file with mode: 0644]
debian/patches/series
qemu