# changelog

author: Denis Silakov <dsilakov@virtuozzo.com> - 21.48.22.158-1.vz7.5
changelog:
  - Keep virtuozzo-release unchanged, use new name in a separate release file,
    see #PSBM-102637 and PSBM-104174


author: Sergey Galas' <shrike@virtuozzo.com> 7.0.242
changelog:
  - bug #PSBM-96272 aka "vzlicutils" crash: "vzlicmonitor killed by SIGSEGV"
  (Sergey Galas <shrike@virtuozzo.com>)


author: Sergey Galas' <shrike@virtuozzo.com> 7.0.248
changelog:
  - bug #PVA-37450 aka pvaagent killed by ABRT (Sergey Galas
  <shrike@virtuozzo.com>)
   - Added targets.list (Konstantin Volkov <wolf@virtuozzo.com>)


author: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> - vz-4.5.0-23.vz7.13
changelog:
  - virsystemd: workaround race on systemd-machined idle shutdown #PSBM-102137
  - qemu: agent: sync once if qemu has serial port event #PSBM-101972
  - qemu: remove redundant needReply argument of qemuAgentCommand


author: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> - vz-4.5.0-23.vz7.15
changelog:
  - FIXUP: conf: remove features unknown to qemu (related to #PSBM-96228)
  - vz: fixes after renaming Parallels to Virtuozzo in sdk


author: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> - vz-4.5.0-23.vz7.16.2
changelog:
  - DROP: rpc: kill prl_disp_service on dead connection #PSBM-102477
  - UPSTREAM: remove return checks because of OOM
  - FIXUP: debug: print 'thr a a bt' in log when taking some mutex takes much time


author: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> - vz-4.5.0-23.vz7.16.5
changelog:
  - DROP: FIXUP: upgrade: vnc: make vnc upgrade possible #PSBM-104751
  - FIXUP: upgrade: vnc: make vnc upgrade possible #PSBM-104751
  - qemu: don't copy node info to pesistent disk on pivot #PSBM-105053


author: Igor Sukhih <igor@virtuozzo.com> 7.0.192
changelog:
  - Offline merge can corrupt BAT #PSBM-102808 (#PSBM-101080)
   - build_hole_bitmap(): do not use header copy
   - ability to fix CT with broken BATa #PSBM-102741
   - ploop_resize_image(): missed check


author: Igor Sukhih <igor@virtuozzo.com> 7.0.193.3
changelog:
  - Unable to create snapshot with same uuid #PSBM-103419
   - Failed to delete temparary snapshot: snapshot is busy


author: Igor Sukhih <igor@virtuozzo.com> 7.0.193.9
changelog:
  - send_image_block(): increase log level for debug message
   - Revert "ploop_copy_receiver(): validate image #PSBM-105933"
   - Revert "ploop_copy_receiver(): call filefrag #PSBM-105933"
   - ploop_stop_device(): unfreeze ploop device
   - ploop-copy: Add compatibility with old protocol
   - ploop-copy: introduce handshake
   - ploop-copy: introduce md5 checksum check
   - ploop-copy: switch to queue chunk schema
   - cleanup: move private data from header
   - fill_hole(): print parameters before fail
   - ploop_copy_receiver(): validate image #PSBM-105933
   - ploop_copy_receiver(): call filefrag #PSBM-105933
   - restore_hole(): process CHECK_REPAIR_SPARSE flag
   - ploop_copy_receiver(): flush all modified data #PSBM-105933
   - fill_hole(): add debug logging


author: Dmitry Mishin <dim@virtuozzo.com> 7.0.1049.2
changelog:
  - PSBM-101855 Switch default machine type to 7.12.0
   - Branch version for u14
   - Fixed deadlock on using libc ctime() after fork() (Yuriy Pudgorodskiy
  <yur@virtuozzo.com>) (#PSBM-102293)
   - CT created with hdd index == 1 #PSBM-102587 (Igor Sukhih
  <igor@virtuozzo.com>)


author: Igor Sukhih <igor@virtuozzo.com> 7.0.1049.4
changelog:
  - Temporary files not removed in non shared migration mode
   - Migration failed with EPERM error #PSBM-103700
   - Set user/group ownership on config file creation
   - Set user/group ownership on disk image creation


author: Dmitry Mishin <dim@virtuozzo.com> 7.0.1049.8
changelog:
  - PSBM-104750 Expand limits for log files included to problem reports
   - PSBM-104750 Relax mask for compressed log files


author: Miroslav Rezanina <mrezanin@redhat.com> - 2.12.0-43.el7
changelog:
  - kvm-tcp_emu-Fix-oob-access.patch [bz#1791563 bz#1791570]
  - kvm-slirp-use-correct-size-while-emulating-IRC-commands.patch [bz#1791563]
  - kvm-slirp-use-correct-size-while-emulating-commands.patch [bz#1791563]
  - Resolves: bz#1791563
    (CVE-2020-7039 qemu-kvm-rhev: QEMU: slirp: OOB buffer access while emulating tcp protocols in tcp_emu() [rhel-7.8])


author: Miroslav Rezanina <mrezanin@redhat.com> - 2.12.0-44.el7
changelog:
  - kvm-iscsi-Avoid-potential-for-get_status-overflow.patch [bz#1794499]
  - kvm-iscsi-Cap-block-count-from-GET-LBA-STATUS-CVE-2020-1.patch [bz#1794499]
  - Resolves: bz#1794499
    (CVE-2020-1711 qemu-kvm-rhev: QEMU: block: iscsi: OOB heap access via an unexpected response of iSCSI Server [rhel-7.8])


author: Miroslav Rezanina <mrezanin@redhat.com> - 2.12.0-44.el7_8.1
changelog:
  - kvm-util-add-slirp_fmt-helpers.patch [bz#1798972]
  - kvm-tcp_emu-fix-unsafe-snprintf-usages.patch [bz#1798972]
  - Resolves: bz#1798972
    (CVE-2020-8608 qemu-kvm-rhev: QEMU: Slirp: potential OOB access due to unsafe snprintf() usages [rhel-7.8.z])


author: Miroslav Rezanina <mrezanin@redhat.com> - rhev-2.12.0-44.el7_8.2
changelog:
  - kvm-target-i386-kvm-initialize-feature-MSRs-very-early.patch [bz#1804580]
  - kvm-target-i386-add-a-ucode-rev-property.patch [bz#1804580]
  - kvm-target-i386-kvm-initialize-microcode-revision-from-K.patch [bz#1804580]
  - kvm-target-i386-fix-TCG-UCODE_REV-access.patch [bz#1804580]
  - kvm-target-i386-check-for-availability-of-MSR_IA32_UCODE.patch [bz#1804580]
  - kvm-target-i386-enable-monitor-and-ucode-revision-with-c.patch [bz#1804580]
  - kvm-gluster-Handle-changed-glfs_ftruncate-signature.patch [bz#1822236]
  - kvm-gluster-the-glfs_io_cbk-callback-function-pointer-ad.patch [bz#1822236]
  - Resolves: bz#1804580
    (Backport: Passthrough host CPU microcode version to KVM guest if using CPU passthrough to RHEL 7.7/7.8 [rhel-7.8.z])
  - Resolves: bz#1822236
    (Add support for newer glusterfs [rhel-7.8.z])


author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> - vz-2.12.0-44.8.2.vz7.1
changelog:
  - iotests: fix 223: chmod +x
  - Fix libusb-1.0.22 deprecated libusb_set_debug with libusb_set_option
  - test-hmp: blacklist rhel6* machine types
  - virtio-pci: Add subsystem-vendor-id property
  - hw/pci: add Virtuozzo vendor id
  - add Virtuozzo machine types
  - compat: set virtio-pci subsystem vendor-id to Virtuozzo
  - smbios: set platform information in DMI to Virtuozzo
  - i386:pc: do not expose l3 cache by default in VZ machines
  - tests: blacklist rhel6 machtypes from qom-test
  - tests: disable lsi53c895a specific tests, it is compiled out
  - blk: do not select PFLASH device for internal snapshot #PSBM-40704
  - scripts/qemugdb: get pthread_self from "info threads" command
  - scripts/qemugdb: improve "qemu coroutine" command
  - scripts/qemugdb: add coredump.py for coredump patching
  - scripts/qemugdb: backtraces for coroutines in coredump
  - pc: enable hpet #PSBM-43538
  - qcow2: change default L2 table entry size to 8Mb
  - qcow2: remove QCowL2Meta parameter from handle_copied #PSBM-45344 #PSBM-39037
  - qcow2: alloc space for COW in one chunk #PSBM-45344 #PSBM-39037
  - qcow2: preallocation at image expand #PSBM-45344 #PSBM-39037
  - qcow2: truncate preallocated space #PSBM-45344 #PSBM-39037
  - qcow2: check space leak at the end of the image #PSBM-45344 #PSBM-39037
  - qcow2: set default preallocation size to 128M #PSBM-45344 #PSBM-39037
  - qcow2: temporal workaround of broken preallocation #PSBM-45846 #PSBM-45344
  - qcow2: handle preallocation in qcow2_co_write_compressed
  - qemu-iotests: the output of the tests is given in working condition
  - qcow2: set inactive flag
  - qcow2: add coroutine-independent interface around handle_prealloc()
  - iotest 026: wildcard the amount of leaked clusters
  - qcow2: preallocate on writing metadata #PSBM-53114
  - qcow2: do not COW the empty areas
  - iotest 026: update after preallocate/cow-reduce features
  - qcow2: assert that discard/zero don't overflow or loop forever
  - qcow2: add qcow2_cluster_link_l2() trace args
  - qcow2: fix misleading comment about L2 linking
  - qcow2-cluster: slightly refactor handle_dependencies()
  - qcow2-cluster: make handle_dependencies() logic easier to follow
  - qcow2: allow concurrent unaligned writes to the same clusters
  - iotest 046: test simultaneous cluster write error case
  - iotest 134: test cluster-misaligned encrypted write
  - iotest 172: remove non-supported test parts
  - blockdev: fix starting empty cdrom/floppy with discard flag
  - hyperv: ensure VP index equal to QEMU cpu_index
  - hyperv_testdev: refactor for readability
  - hyperv: cosmetic: g_malloc -> g_new
  - hyperv: synic: only setup ack notifier if there's a callback
  - hyperv: allow passing arbitrary data to sint ack callback
  - hyperv: address HvSintRoute by X86CPU pointer
  - hyperv: make HvSintRoute reference-counted
  - hyperv: qom-ify SynIC
  - hyperv: block SynIC use in QEMU in incompatible configurations
  - hyperv: make overlay pages for SynIC
  - hyperv: add synic message delivery
  - hyperv: add synic event flag signaling
  - hyperv: process SIGNAL_EVENT hypercall
  - hyperv: process POST_MESSAGE hypercall
  - hyperv_testdev: add SynIC message and event testmodes
  - MAINTAINERS: add myself for hyperv*
  - hyperv: update copyright notices
  - hyperv: skip synic pages setup when in_kvm_only #PSBM-76475
  - hyperv: fix SynIC compat logic #PSBM-76475
  - vmbus: vmbus implementation
  - vmbus: build configuration
  - i386: Hyper-V VMBus ACPI DSDT entry
  - scsi: add Hyper-V/VMBus SCSI device implementation
  - hv-scsi: limit the number of requests per notification
  - hv-scsi: treat devices with different lun as missing
  - net: add Hyper-V/VMBus net device implementation
  - hv-net: add .bootindex support
  - loader: allow arbitrary basename for fw_cfg file roms
  - vmbus: add support for rom files
  - hv-net: define default rom file name
  - vmbus: only set up sint_route if configured
  - hv-net: follow RHEV convention for rom names
  - vmbus: prevent vmbus main event loop recursion
  - vmbus: handle instanceid property generically
  - hv-scsi: don't define instanceid property
  - hv-net: don't define instanceid property
  - hv-net: rework config parameters handling #PSBM-81319
  - hv-net: fixes for main MAC address handling #PSBM-81319
  - hv-net: multicast and unicast receive filtering #PSBM-81319
  - hv-net: add support for query-rx-filter qmp #PSBM-81319
  - vmbus: force channel notification on open
  - vmbus: simulate notification from guest on load
  - misc: common Hyper-V/Util protocol definitions
  - hv-vss: introduce Hyper-V shadow copy device
  - tests: revert "Disable hyperv-testdev" #PSBM-65893 #PSBM-65895
  - hv-net: don't overflow the busy packet slots bitmap
  - net/tap: add tap_fd_get_info()
  - net/tap: allow disabled taps
  - net: add qemu_{enable,disable}_all_taps()
  - net: enable/disable tap devices on vm start/stop #PSBM-62294
  - net: add log to enalde/disable tap for investigation #PSBM-67382
  - tap: don't change vnet header during capability probing #PSBM-73497
  - tap: assume that ufo is always supported #PSBM-73497
  - tap: change backend features only on enabled device #PSBM-73497
  - drive-backup: enable cache on target for compressed case #PSBM-49588
  - hbitmap: add hbitmap_count_between() function
  - iotests: fix 056 for vz-7.8-2.10
  - vmbus: clean up redundant typedefs
  - vmbus: make vmbus-bridge refer to vmbus by pointer
  - vmbus: move vmbus-bridge definitions to its own header
  - vmbus: make vmbus-bridge creatable with -device
  - vmbus: make vmbus irqs be properties of vmbus-bridge
  - vmbus: support CONFIG_VMBUS=n
  - hv-scsi: add its own config variable
  - hv-net: add its own config variable
  - nbd: increase size of the PWRITE_ZERO and PDISCARD request #PSBM-75794
  - nbd/server: improve nbd_negotiate_send_rep_list
  - hmp: block qemu-io command for device without media
  - ide: fix crash in IDE cdrom read #PSBM-78096
  - qapi: add unmap to BlockDeviceStats #PSBM-75504
  - ide: account UNMAP (TRIM) operations #PSBM-75504
  - scsi: store unmap offset and nb_sectors in request struct #PSBM-75504
  - scsi: move unmap error checking to the complete callback #PSBM-75504
  - scsi: account unmap operations #PSBM-75504
  - file-posix: account discard operations #PSBM-75504
  - qapi: query-blockstat: add driver specific file-posix stats #PSBM-75504
  - block: log lengthy IO requests to debug VStorage problems
  - blk: fix aio context loss on media change #PSBM-62014
  - block-stream: increase iteration size #PSBM-73618
  - savevm: fix savevm after migration #PSBM-60841
  - net ROMs: symlink efi-* images to pxe-*
  - block: log i/o errors #PSBM-60862
  - qmp: add offset and size to BLOCK_IO_ERROR event
  - block: iterate_format with account of whitelisting
  - dump: add Windows dump format to dump-guest-memory #PSBM-81849
  - dump: use system context in Windows dump #PSBM-81849
  - dump: add fallback KDBG using in Windows dump #PSBM-81849
  - dump: add Windows live system dump #PSBM-81849
  - dump: add automatic dump type #PSBM-85981
  - dump: fix Windows dump memory run mapping #PSBM-88084
  - qmp, hmp: add PCI subsystem id and vendor id to PCI info #PSBM-88665
  - i386:pc: whitelist dynamic vmbus-bridge
  - block/replication: drop extra synchronization
  - block/backup: drop unused synchronization interface
  - backup: rewrite top mode cluster skipping #PSBM-45735
  - backup: faster full backup #PSBM-45735
  - backup: skip done cluster early #PSBM-45735
  - backup: fix 055
  - backup: reuse backup_run_incremental for full backup
  - backup: rename backup_init_done_bitmap_by_allocated
  - backup: refactor backup_run
  - Revert "backup: Use copy offloading"
  - backup: refactor backup_do_cow - separate copying staff
  - backup: move backup_loop function
  - backup: drop retrying r/w operations after error.
  - backup: move r/w error handling code to r/w functions
  - job: publish job_should_pause
  - backup: new async model
  - backup: use async_status in backup_skip_unallocated_clusters
  - bitmap: add bitmap_count_between() function
  - backup: move notifier handling to backup workers
  - backup: drop old flush_rwlock synchronization
  - backup: remove old overlapping requests handling
  - backup: fix 065 iotest
  - backup: refactor backup_do_cow parameters
  - backup: move bitmap handling from backup_do_cow to get_work
  - backup: refactor: merge backup_copy_cluster and backup_do_cow
  - qemu-coroutine-sleep: drop CoSleepCB
  - qemu-coroutine-sleep: add qemu_co_enter_before_timer
  - backup: timeout for write notifier.
  - backup: fix block-job fail by timeout #PSBM-52593
  - backup: add trace events
  - backup: fix async access to notifiers list #PSBM-52954
  - backup: fix use after free #PSBM-53385
  - backup: fix AIO mode for compressed backup #PSBM-59357
  - backup: assume target always zeroed for full backup #PSBM-75655
  - drive-backup: drop BDRV_O_INACTIVE for target #PSBM-80029
  - backup: fix ratelimit_calculate_delay function usage #PSBM-89011
  - block: pass qiov into before_write notifier
  - mirror: allow to save buffer for QEMUIOVector in MirrorOp
  - coroutine: allow to restart coroutine queue outside of coroutine
  - mirror: use synch scheme for drive mirror #PSBM-46969
  - mirror: replace bdrv_dirty_bitmap with plain hbitmap #PSBM-46969
  - mirror: advance position of block-mirror job only for block-mirror ops #PSBM-48476
  - mirror: properly calculate the range to clear copy_bitmap on op done #PSBM-48476
  - mirror: fix race between target zero out and before_write_notifier #PSBM-48476
  - mirror: throttle guest requests and mirror requests using different counters #PSBM-48911 #PSBM-48913
  - block: expose interface to mark tracked request serialising
  - mirror: protect notified write from simultaneous read #PSBM-59791
  - block/mirror: fix mirror_before_write_notify #PSBM-82240
  - mirror: transfer only data areas for full mirrors
  - qcow2: move qemu_co_mutex_lock below decryption procedure
  - qcow2: split out reading normal clusters from qcow2_co_preadv
  - qcow2: async scheme for qcow2_co_preadv #PSBM-64113
  - qcow2: bdrv_co_pwritev: move encryption code out of lock
  - qcow2: refactor qcow2_co_pwritev: split out qcow2_co_do_pwritev
  - qcow2: refactor qcow2_co_pwritev locals scope
  - qcow2: Imporve Qcow2RWState with debugging information
  - qcow2: async scheme for qcow2_co_pwritev #PSBM-64113
  - qcow2: add traces for r/w async scheme
  - qcow2: improve traces
  - qcow2: multiple clusters write compressed #PSBM-49058
  - qemu-nbd: add compression flag support #PSBM-48899
  - qcow2: separate function for data compression #PSBM-49588
  - qcow2: add compress threads #PSBM-49588
  - thread-pool: set max_threads to 8 #PSBM-49588
  - qcow2: the data_end update on truncation #PSBM-66608
  - block/qcow2-bitmap: add qcow2_remove_all_persistent_dirty_bitmaps
  - qcow2-snapshot: add traces
  - migration: invalidate cache before source start #PSBM-85735
  - blockdev: modify blockdev-change-medium to change non-removable device file #PSBM-72968
  - block: fix bdrv_check_perm for non-tree subgraph
  - tests: add test-bdrv-graph-mod
  - block: cheat reopen commit sequence #PSBM-85695
  - qcow2: finalize rws in fail_nometa case #HCI-124
  - iotests: test subsystem vendor for rhel/vz7 machine types
  - block: vz7 hacks for cache metadata cache options #VSTOR-17359, #VSTOR-17849
  - backup: add backup_pause handler
  - iotests: increase timeout limit to 5s in pause_wait
  - iotest 185: fix stream job offset
  - iotest 156: fix output
  - iotests: fix 066: discard leaves leaked space now
  - iotest 67: fix asynchronous command handling
  - iotests: 186: drop -device floppy
  - iotest 144: fix racy output
  - iotest 141: fix racy output
  - iotest 141: fix offset in output
  - iotests: ask qemu for supported formats
  - iotests: fix 139 for not whitelisted quorum and blkverify
  - iotests: fix 138 output for config with tcmalloc
  - block/nbd-client: move from quit to state
  - block/nbd-client: move connecting to connection_co
  - block/nbd: add cmdline and qapi parameters for nbd reconnect
  - block/nbd-client: nbd reconnect
  - iotests: test nbd reconnect
  - block/nbd-client: set local_err to NULL after free
  - block/nbd-client: do not reconnect on open
  - block/nbd-client: don't consider EINVAL fatal on reconnect #PSBM-88820
  - nbd-backup: increase number of parallel requests
  - block/nbd-client: drop max_block restriction from block_status #PSBM-89191
  - block/nbd-client: allow wrong conext_id to support vz-7.7 and earlier server #PSBM-89263
  - iotests: reduce races in 220
  - migration: incoming x-vz-nbd-restore #PSBM-78339
  - qapi: drop x- from x-block-latency-histogram-set
  - block: support compressed write for copy-on-read #PSBM-73618
  - block-stream: add compress option #PSBM-73618
  - tests: explicitly set "pc" machine type
  - qcow2: fix qemu-img resize preallocation issue #PSBM-85010
  - iotests: fix 205 to be faster
  - backup: strict speed limit
  - qcow2: fix handle_prealloc: handle bdrv_getlength error
  - qcow2: align preallocation in handle_prealloc to clusters
  - iotests: update 26 output
  - iotests: update 60 output
  - iotests: update 191 output
  - iotests: update 201 and 217 output
  - iotests: improve waiting for backup progress in 220
  - block: don't set the same context #VSTOR-12606
  - iotests: Filter second BLOCK_JOB_ERROR from 229
  - iotests: fix 141 stream race
  - qcow2: avoid lseek on block_status if possible
  - blockdev: loosen restrictions on drive-backup source node
  - block/backup: rename s/serialize_target_writes/target_backed_by_source
  - block/io: add flags to tracked request structure
  - block/backup: support fleecing scheme for push backup #PSBM-91232
  - iotets: add test for push backup with fleecing #PSBM-91232
  - block: revert 70a5afedd from Kewin, it results in regression #PSBM-92500
  - migration: update recv bitmap only on dest vm #PSBM-92496
  - qcow2: discard bitmap when removed #PSBM-91475
  - iotests: ask QEMU for supported formats #PSBM-91381
  - iotests: check whitelisted formats #PSBM-91381
  - qmp: Postpone command related checks in handle_qmp_command to dispatch #PSBM-92291
  - monitor: increase amount of data for monitor to read #PSBM-65707 #PSBM-92291
  - block/stream: refactor stream_run: drop goto
  - block: add BDRV_REQ_FAKE_READ flag
  - block/stream: use BDRV_REQ_FAKE_READ
  - blockjob: fix user pause in block_job_error_action
  - block: introduce aio task pool
  - block/qcow2: move to aio task pool
  - block/io: refactor bdrv_co_do_copy_on_readv
  - block/io: copy-on-read: use aio task pool
  - block/stream: use aio task pool
  - nbd: improve CMD_CACHE: add COPY_ON_READ and FAKE_READ
  - block: add trace points for copy-on-read enable/disable
  - block-stream: improve stream_one_iteration trace point
  - block: add block-status trace points
  - blk: postpone request execution on a context protected with "drained section" #PSBM-82223
  - block/io.c: fix for the allocation failure #PSBM-92102
  - block: Use uint64_t for BdrvTrackedRequest byte fields
  - block/io: bdrv_pdiscard: support int64_t bytes parameter #PSBM-93339
  - iotests: test big qcow2 shrink
  - vnc: fix update stalls #VSTOR-21895
  - block: fix cheat_reopen_rw logic in bdrv_reopen #PSBM-94264
  - qapi: support external bitmaps in block-dirty-bitmap-merge #VSTOR-23008
  - iotests: test external snapshot with bitmap copying #VSTOR-23008
  - iotests: add test 255 to check bitmap life after snapshot + commit
  - block/qcow2-bitmap: get rid of bdrv_has_changed_persistent_bitmaps
  - block/qcow2-bitmap: do not release persistent bitmaps on reopen ro #PSBM-94666 #PSBM-94672
  - block/qcow2-bitmap: initialize bitmap directory alignment #PSBM-94873
  - blockdev: enable non-root nodes for transaction drive-backup source
  - x86: add CPU flags supported inside libvirt #PSBM-96228
  - tpm: extend TPM emulator with state migration support
  - tpm: extend TPM TIS with state migration support
  - docs: tpm: add VM save/restore example and troubleshooting guide
  - iotests: restrict 254 to support only qcow2
  - iotests: 197, 215: ignore large alloc warnings from tcmalloc
  - blockdev: reduce aio_context locked sections in bitmap add/remove
  - qapi: implement block-dirty-bitmap-remove transaction action
  - iotests: test bitmap moving inside 254
  - qapi: add dirty-bitmaps to query-named-block-nodes result
  - iotests:182: skip when OFD locks are unavailable
  - iotests:241: skip if no SEEK_HOLE/SEEK_DATA support
  - block/mirror: Add MirrorBDSOpaque
  - file-posix: Update open_flags in raw_set_perm() #PSBM-98588 #PSBM-98594
  - block: Add bdrv_child_refresh_perms()
  - block/mirror: Fix child permissions
  - block/commit: Drop bdrv_child_try_set_perm()
  - block: Fix order in bdrv_replace_child()
  - block: Add *tighten_restrictions to *check*_perm()
  - block: Ignore loosening perm restrictions failures
  - iotests: Test failure to loosen restrictions
  - block: Fix bdrv_co_truncate overlap check #PSBM-98426
  - iotests: fix 124 test_incremental_pause test-case for Virtuozzo
  - iotests: Test backup job with two guest writes
  - util/hbitmap: update orig_size on truncate
  - iotests: Test incremental backup after truncation
  - qmp: add format-options parameter to blockdev_change_medium command
  - cpus-common: nuke finish_safe_work #PSBM-94403
  - nbd: add empty .bdrv_reopen_prepare
  - block: move bdrv_can_store_new_dirty_bitmap to block/dirty-bitmap.c
  - block/dirty-bitmap: return int from bdrv_remove_persistent_dirty_bitmap
  - block/qcow2: proper locking on bitmap add/remove paths
  - block/qcow2-bitmap: fix bitmap migration
  - iotests: add new test cases to bitmap migration
  - blockdev: blockdev-change-medium: support change bs in non-empty blk
  - blockdev: save dirty bitmaps on qmp blockdev-change-medium #PSBM-99765
  - block: improve tracked_request_report_long to show node
  - block/qcow2-bitmap: fix crash bug in qcow2_co_remove_persistent_dirty_bitmap #VSTOR-29045
  - block/qcow2-bitmap: don't load inconsistent bitmaps #PSBM-100079
  - io/channel: track long write to io channel
  - nbd: allow reconnect on open, with corresponding new options #VSTOR-28844
  - iotests: add 1000002 to test reconnect on nbd open #VSTOR-28844
  - block/backup: race condition with skipping empty clusters #PSBM-98321
  - block/qcow2-bitmap: remove inconsistent bitmaps before loading
  - migration/block-dirty-bitmap: fix bdrv_next loop #PSBM-100093
  - block/stream: early detect no-op
  - block/stream: separate stream_block_status
  - block/stream: align chunks to top cluster-size
  - block/stream: reduce STREAM_CHUNK to 512K
  - Revert "iotests: fix 141 stream race"
  - Revert "iotest 185: fix stream job offset"
  - Revert "block-stream: increase iteration size #PSBM-73618"
  - Revert "iotest 141: fix offset in output"
  - Revert iotest 30 changes by "block/stream: use aio task pool"
  - iotests/030: don't check offset on error path
  - block/stream: skip as much as possible in one hunk
  - block/stream: trace read request
  - block/stream: do not disturb guest by stream block-job #PSBM-100594
  - qxl: add subsystem_vendor_id property
  - pc: add new vz-7.12 machine type
  - tests: check qxl subsystem-vendor-id settings for VZ machine types
  - block/stream: give priority to guest writes while streaming #PSBM-100932
  - migration/block-dirty-bitmap: fix dirty_bitmap_mig_before_vm_start
  - migration/block-dirty-bitmap: rename state structure types
  - migration/block-dirty-bitmap: rename dirty_bitmap_mig_cleanup
  - migration/block-dirty-bitmap: move mutex init to dirty_bitmap_mig_init
  - migration/block-dirty-bitmap: refactor state global variables
  - migration/block-dirty-bitmap: rename finish_lock to just lock
  - migration/block-dirty-bitmap: simplify dirty_bitmap_load_complete
  - migration/block-dirty-bitmap: keep bitmap state for all bitmaps
  - migration/block-dirty-bitmap: relax error handling in incoming part
  - migration/block-dirty-bitmap: cancel migration on shutdown
  - migration/savevm: don't worry if bitmap migration postcopy failed
  - qemu-iotests/199: fix style
  - qemu-iotests/199: drop extra constraints
  - qemu-iotests/199: better catch postcopy time
  - qemu-iotests/199: improve performance: set bitmap by discard
  - qemu-iotests/199: change discard patterns
  - qemu-iotests/199: increase postcopy period
  - python/qemu/machine: add kill() method
  - qemu-iotests/199: prepare for new test-cases addition
  - qemu-iotests/199: check persistent bitmaps
  - qemu-iotests/199: add early shutdown case to bitmaps postcopy
  - qemu-iotests/199: add source-killed case to bitmaps postcopy
  - block: Make auto-read-only=of default for -drive #PSBM-101520
  - iotests: 129 don't check backup "busy"
  - migration/block-dirty-bitmap: add forgotten check for cancelled
  - migration/dirty-bitmaps: change bitmap enumeration method
  - block: Mark commit and mirror as filter drivers
  - migration/block-dirty-bitmap: refactor init_dirty_bitmap_migration
  - block/dirty-bitmap: add bdrv_has_named_bitmaps helper
  - migration/block-dirty-bitmap: add_bitmaps_to_list: check disk name once
  - migration/block-dirty-bitmap: forbid migration by generated node-name
  - migration/block-dirty-bitmap: fix bitmaps migration during mirror job
  - iotests: 194: test also migration of dirty bitmap


author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> - vz-2.12.0-44.8.2.vz7.4
changelog:
  - DROP: util/qemu-sockets: make keep-alive enabled by default [vz-only]
  - util/qemu-sockets: fix keep_alive handling in inet_connect_saddr
  - util/qemu-sockets: make keep-alive enabled by default [vz-only]


author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> - vz-2.12.0-44.8.2.vz7.4.1
changelog:
  - migration/block-dirty-bitmap: fix add_bitmaps_to_list
  - migration/block-dirty-bitmap: ignore auto-generated node names #PSBM-105022


author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> - vz-2.12.0-44.8.2.vz7.4.2
changelog:
  - DROP: migration/block-dirty-bitmap: fix add_bitmaps_to_list
  - migration/block-dirty-bitmap: fix add_bitmaps_to_list


