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 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 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel