JFS on Almalinux

Has anyone tried to use jfs on AlmaLinux?

We are forced to use jfs filesystem due to historical port of our server from Windows to fedora in order to overcome the problem of our numerous file case insensitive names.

JFS works well for us in centos 7 and our develoment environment on fedora.

We are planning to move from centos 7 to Almalinux and wondering how we can resolve our case insensitive file naming problem.

Thanks in advance for any help

Hey @Thevoice1017 welcome to the community. Actually not sure about this one. Whooo, what a doozy. JFS haven’t heard that in a long time.

I will do some digging?

JFS definitely wasn’t supported in RHEL 4/5/6 and i can’t find any packages or kernel modules for it on centos 7.9 or RHEL 8.4 so not sure how you got it working on centos7 - maybe using a contrib kernel?

If its just a case-insensitive file system that you want, then why not use ext4?

You can check to see if the kernel has this feature by running:

cat /sys/fs/ext4/features/casefold

If the result is “supported” then you can create an ext4 file system that is case-insensitive and it will work like the old JFS. If its not supported, then you may need a custom kernel (from epel?).

kmod-jfs package to the el7 repo. You have to use the CentOSPlus kernel though.
kmod-jfs package to the el8 was never built.

I was not aware ext4 has case-insensitive feature. Will test it out.
I see 3 possible options here

  1. epel with kmod-jfs package enabled in the kernel (almalinux/epel)
  2. ZFS (also provides case insensitive with error checking) can be installed/setup on CentOS8 - How To Install ZFS File On Centos 8 - Eldernode Blog
  3. ext4 kernel with casefold extension on almalinux/epel

Will be great if AlmaLinux 8.5? provides these options with seamless kernel updates

I installed zfs on AlmaLinux 8.2 and its been working fine. After upgrade to AlmaLinux 8.5 with kernel 4.18.0-348.2.1.el8_5.x86_64 had to reinstall zfs to get to work.

Now I am looking to use ext4 with casefold extension instead of zfs in production.
AlmaLinux 8.5 kernel does not provide the casefold extion. cat /sys/fs/ext4/features/casefold confirms this. Kernel has to be compiled with CONFIG_UNICODE=y to provide the casefold extension.

Is there a plan to include this in future kernels? Fedora 35 already includes this feature.

Thank you for the great work providing AlmaLunix.

Isn’t insensitive to sensitive “a trivial” change? There won’t be names that differ only by case.
The other way, sensitive to insensitive, is hard as name collisions require action.

The real issue are the applications that expect some case?

The man page (March 2020) says:

casefold
This ext4 feature provides file system level character encoding support for directories with the casefold (+F) flag enabled. This feature is name-preserving on the disk, but it allows applications to lookup for a file in the file system using an encoding equivalent version of the file name.

and later on shows kernel support from the 5.4 kernel. However Alma 8.x uses kernel 4.18.0 and so will not have the support. Fedora 34 has kernel 5.15.6, I’m just in the process of updating my Fedora VM to check the kernel version for Fedora 35. The upshot is that Alma 8.x will never have support for casefold under current policies.

Edit: F35 uses 5.15.8

That is not set in stone. Counter-example:
RHEL 7’s kernel was forked from 3.10. The nftables was added to upstream 3.13.
Current RHEL 7’s kernel has nftables. Red Hat has backported that feature to their kernel.

Granted, backporting from kernel 5 to 4, and a feature that is not on the default filesystem (XFS), sounds less likely.

I bow to your superior knowledge.

Fedora 35 is built on 5.15? kernel and supports casefold.
Hopefully when epel/redhat picks up 5.15 kernel casefold will supported.

Any idea when this could happen?

If Red Hat keeps and continues three year cadence for majors that they have spoken of, then RHEL 9 (with 5.14-based kernel) will release next Spring and RHEL 10 in 2025.

Hello 9 beta was released on Nov. 03 with 5.14 kernel. I suspect casefold is enabled in the kernel. I am not able to very tho.
Hopefully they 9 will be released in spring of 2022 as you indicate…and AlmaLinux 9? In winter 2023?

In principle Alma can start building after Red Hat releases sources, which is when they release RHEL. However, CentOS Stream offers public preview before RHEL is released.

For example, Alma had a “beta” for 8.5 briefly before release of RHEL 8.5 and had to (re)build only the last diffs. Thanks to that AlmaLinux 8.5 did release only three days after RHEL 8.5. (How thoroughly can one test result in that time?) A whole new major release probably takes a bit longer than that.

Red Hat probably continues the 6 month cadence for point updates. RHEL 9.1 could show up by next Christmas. Based on previous major releases (5, 6, 7, 8) the x.1 is more comfy to jump into the wagon than x.0.

[EDIT] How would one check for presence of ‘casefold’ in a system?

cat /sys/fs/ext4/features/casefold

Should return “supported”

As I understand it, the kernel has to be built with “CONFIG_UNICODE=y” to support case-insensitive ext4. Just checked the latest kernel in CentOS Stream 9, kernel-5.14.0-30.el9. It has “CONFIG_UNICODE is not set”.

As jlehtone pointed out, “a feature that is not on the default filesystem (XFS), sounds less likely.”