Well, here we are 11 months later, and it looks like I was right. Or at the very least, building the GPFS 5.2.2-1 kernel module on RHEL 8.10 with kernel 4.18.0-553.50.1 works. However, on AlmaLinux 8.10 with kernel 4.18.0-553.50.1 it bombs out with
CC [M] /usr/lpp/mmfs/src/gpl-linux/cfiles_cust.o
In file included from /usr/lpp/mmfs/src/gpl-linux/cfiles.c:61,
from /usr/lpp/mmfs/src/gpl-linux/cfiles_cust.c:54:
/usr/lpp/mmfs/src/gpl-linux/kx.c:3041:27: error: field 'nbarg' has incomplete type
struct noobaa_arg nbarg;
^~~~~
In file included from /usr/lpp/mmfs/src/gpl-linux/cfiles.c:61,
from /usr/lpp/mmfs/src/gpl-linux/cfiles_cust.c:54:
/usr/lpp/mmfs/src/gpl-linux/kx.c: In function 'kxGanesha':
/usr/lpp/mmfs/src/gpl-linux/kx.c:8399:13: error: 'OPENHANDLE_REGISTER_NOOBAA' undeclared (first use in this function); did you mean 'OPENHANDLE_GET_NODEID'?
if (op == OPENHANDLE_REGISTER_NOOBAA)
^~~~~~~~~~~~~~~~~~~~~~~~~~
OPENHANDLE_GET_NODEID
/usr/lpp/mmfs/src/gpl-linux/kx.c:8399:13: note: each undeclared identifier is reported only once for each function it appears in
/usr/lpp/mmfs/src/gpl-linux/kx.c:8405:59: error: invalid application of 'sizeof' to incomplete type 'struct noobaa_arg'
if (copy_from_user(&args.nbarg, (void *)arg, sizeof(struct noobaa_arg)))
^~~~~~
make[3]: *** [scripts/Makefile.build:318: /usr/lpp/mmfs/src/gpl-linux/cfiles_cust.o] Error 1
make[2]: *** [Makefile:1619: _module_/usr/lpp/mmfs/src/gpl-linux] Error 2
make[2]: Leaving directory '/usr/src/kernels/4.18.0-553.50.1.el8_10.x86_64'
make[1]: *** [makefile:149: modules] Error 1
make[1]: Leaving directory '/usr/lpp/mmfs/src/gpl-linux'
make: *** [makefile:145: Modules] Error 1
I will try building with the equivalent Rocky kernel on Monday. Still, at a minimum, AlmaLinux no longer has source code compatibility with the kernel, which, as I tried and failed miserably to impress on people last year, is an important thing.