[pve-devel] [PATCH manager v3 0/6] fix #5430: ocfs2 io_uring read write
Daniel Kral
d.kral at proxmox.com
Wed Oct 23 14:37:16 CEST 2024
Since around Linux kernel version 6.7 [0], and as reported by users
kernel version `6.8.4-2-pve`, a bug was introduced by a refactoring of
the io_read function in the io_uring subsystem. This causes any VM to
fail to start, when io_uring is used for CDROM drives (including
CloudInit drives) and VM disks (even though I could not reproduce the
latter).
The patch series contains the following changes:
1. refactor code for the upcoming changes (#1-#3),
2. allow changes to aio/cache options for CDROMs in the GUI (#4),
3. allow changes to aio/cache options for CloudInit in the GUI (#5-6).
The last two UI changes are an optional part that was discussed off-list
as a solution before I knew about the kernel patch and I would still
propose it as a useful set of changes.
These changes allow users to change the cache and async I/O options for
both CDROM and CloudInit drives. These changes are not necessary for the
whole patch series and can be applied separately, or dropped.
discussion
===
Since the kernel patch has already been applied to pve-kernel, the UI
changes might not be needed anymore, but could very well be an
additional solution (for this or other use cases).
Another discussion to this patch series - as Shannon and Fabian have
mentioned to me off-list - was if there are actual benefits for CDROM
and CloudInit drives to be read with io_uring enabled. If not, we could
remove the io_uring default from CDROMs and CloudInit drives in
config_to_command in qemu-server.
history
===
Differences to v1 (thanks to @Lukas for the style review):
- Remove the applied pve-kernel patch from the series
- Move refactoring in pve-manager to their own separate patches
- Use let instead of var (also in existing code for consistency, as
no variable was dependent on its scope)
- Rename variables whose names were too unclear
- Change "widget.AsyncIOTypeSelector" to "widget.pveAsyncIoTypeSelector"
- Include a reason why the CDEdit modal width has been changed in the
commit's message
- Adapt cover letter to refer only to the UI changes
Differences to v2:
- Fix references to AsyncIOTypeSelector, which could not be found at
runtime and would make edit modals unavailable for CD/HDD/CI drives
Daniel Kral (6):
ui: vm: change var to let in CDROM and CloudInit edit modals
ui: vm: improve code readability of CDROM and CloudInit edit modals
ui: vm: factor out async I/O type selector
fix #5430: ui: vm: allow editing cdrom aio and cache options
ui: vm: make cloudinit drive editable
fix #5430: ui: vm: allow editing cloudinit aio and cache options
www/manager6/Makefile | 1 +
www/manager6/form/AsyncIOTypeSelector.js | 10 ++
www/manager6/qemu/CDEdit.js | 76 +++++++++----
www/manager6/qemu/CIDriveEdit.js | 131 +++++++++++++++++------
www/manager6/qemu/HDEdit.js | 10 +-
www/manager6/qemu/HardwareView.js | 4 +-
6 files changed, 169 insertions(+), 63 deletions(-)
create mode 100644 www/manager6/form/AsyncIOTypeSelector.js
--
2.39.5
More information about the pve-devel
mailing list