From: Daniel Kral <d.kral@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH kernel/manager 0/5] fix #5430: ocfs2 io_uring read
Date: Wed, 16 Oct 2024 18:47:06 +0200 [thread overview]
Message-ID: <20241016164711.934544-1-d.kral@proxmox.com> (raw)
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).
This patch series contains the following three changes to fix this:
1. a recent (mainlined) patch that fixes the bug in io_uring (#1),
2. allow changes to aio/cache options for CDROMs in the GUI (#2-3),
3. allow changes to aio/cache options for CloudInit in the GUI (#4-5).
# pve-kernel (patch #1)
I have tested the pve-kernel patch by testing the kernel "side-by-side"
(reboot between unpatched and patched 6.8.12-2-pve kernel) with a local
minimal ocfs2 setup, which I setup in PVE as a regular directory storage
with a non-PVE-managed mountpoint:
```
apt install ocfs2-tools
mkfs.ocfs2 /dev/sde
o2cb add-cluster ocfs2test
o2cb add-node ocfs2test <hostname> --ip <local-ip>
echo "kernel.panic_on_oops = 1" > /etc/sysctl.conf
echo "kernel.panic = 30" > /etc/sysctl.conf
o2cb register-cluster ocfs2test
mkdir -p /mnt/ocfs2test
mount /dev/sde /mnt/ocfs2test
pvesm add dir ocfs2test --path /mnt/ocfs2test --is_mountpoint yes
`
The patched kernel successfully fixed the described issue with ocfs2 for
CDROM images and CloudInit drive images in any format. I also tested the
same for a few other storages using io_uring (ZFS, NFS and ext4) and
there were no regressions on my side.
# pve-manager (patch #2 - #5)
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.
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.
[0] This is the commit hash that was mentioned as the bug cause:
```
# git describe --contains a08d195b586a217d76b42062f88f375a3eedda4d
v6.7-rc1~139^2~14
```
pve-kernel:
Daniel Kral (1):
fix #5430: cherry-pick fix for ocfs2 io_uring rw issues
...t-EOPNOTSUPP-for-IOCB_NOWAIT-like-EA.patch | 45 +++++++++++++++++++
1 file changed, 45 insertions(+)
create mode 100644 patches/kernel/0021-io_uring-rw-treat-EOPNOTSUPP-for-IOCB_NOWAIT-like-EA.patch
pve-manager:
Daniel Kral (4):
ui: vm: factor out async I/O type selector
fix #5430: ui: vm: add aio and cache selectors to edit panel
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 | 30 +++++-
www/manager6/qemu/CIDriveEdit.js | 114 ++++++++++++++++++-----
www/manager6/qemu/HDEdit.js | 10 +-
www/manager6/qemu/HardwareView.js | 4 +-
6 files changed, 136 insertions(+), 33 deletions(-)
create mode 100644 www/manager6/form/AsyncIOTypeSelector.js
Summary over all repositories:
7 files changed, 181 insertions(+), 33 deletions(-)
--
Generated by git-murpp 0.7.2
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next reply other threads:[~2024-10-16 16:46 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-16 16:47 Daniel Kral [this message]
2024-10-16 16:47 ` [pve-devel] [PATCH kernel 1/5] fix #5430: cherry-pick fix for ocfs2 io_uring rw issues Daniel Kral
2024-10-17 14:48 ` Friedrich Weber
2024-10-22 14:03 ` [pve-devel] applied: " Thomas Lamprecht
2024-10-16 16:47 ` [pve-devel] [PATCH manager 2/5] ui: vm: factor out async I/O type selector Daniel Kral
2024-10-18 7:42 ` Lukas Wagner
2024-10-16 16:47 ` [pve-devel] [PATCH manager 3/5] fix #5430: ui: vm: allow editing cdrom aio and cache options Daniel Kral
2024-10-18 7:42 ` Lukas Wagner
2024-10-23 11:30 ` Daniel Kral
2024-10-16 16:47 ` [pve-devel] [PATCH manager 4/5] ui: vm: make cloudinit drive editable Daniel Kral
2024-10-18 7:42 ` Lukas Wagner
2024-10-16 16:47 ` [pve-devel] [PATCH manager 5/5] fix #5430: ui: vm: allow editing cloudinit aio and cache options Daniel Kral
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241016164711.934544-1-d.kral@proxmox.com \
--to=d.kral@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal