Hello everyone,
shortly after our 7.3.1 release last week, we discovered an issue with the
native cache mode on Linux versions >5.13, which are used in Ubuntu 22.04
and RHEL 9.
Due to a change in the semantics of the 'enum iter_type' in Linux's uio.h,
a check for a specific type of iterator in the BeeGFS code returned a
wrong result which lead to an iterator not being advanced correctly in the
read code path. Depending on the combination of chunksize and I/O size,
this caused some pages in the cache to contain corrupt data.
I have attached a patch that fixes the check and prevents the cache
corruption on new kernels to this email. The patch can be applied like
this, depending on which version of the client package you use:
For beegfs-client-dkms:
$ cd /usr/src/beegfs-7.3.1
$ patch -p2 < /path/to/native_mode_linux_5.13.patch
$ dkms remove beegfs/7.3.1 -k $(uname -r)
$ dkms install beegfs/7.3.1 -k $(uname -r)
Or if you use the beegfs-client package:
$ cd /opt/beegfs/src/client/client_module_7
$ patch -p2 < /path/to/native_mode_linux_5.13.patch
$ /etc/init.d/beegfs-client rebuild
We advise against using the native cache mode on kernel versions >5.13 with
an unpatched version 7.3.1 of the BeeGFS module.
Best regards
- Philipp
--
Philipp Falk | Head of Engineering | m:
philip...@thinkparq.com
ThinkParQ GmbH | Trippstadter Strasse 113 | 67663 Kaiserslautern | Germany
CEO: Frank Herold | COB: Dr. Franz-Josef Pfreundt | Registered: Amtsgericht Kaiserslautern HRB 31565 I VAT-ID-No.:DE 292001792
Confidentiality Notice: This email message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential or proprietary information.