Hi all, I’m encountering issues while working with DRBD 9.1.11 on a system with kernel version 4.19.90-25.23.v2101.ky10.aarch64. Here’s the breakdown:
1. Compilation Error Details
When compiling DRBD 9.1.11, I hit an error in . The compiler reports:drbd_main.c
plaintext
/data/drbd-9.1.11/drbd/drbd_main.c: In function ‘drbd_create_device’:
/data/drbd-9.1.11/drbd/drbd_main.c:3861:2: error: ‘q’ undeclared (first use in this function)
q->backing_dev_info->congested_fn = drbd_congested;
^
The full compile log shows patching steps for DRBD files, then the build attempts for DRBD modules (e.g., , , etc.), and finally the “undeclared ‘q’” error. The build fails with errors (error 2 at the end).CC [M]drbd_debugfs.odrbd_bitmap.omake
2. Kernel Oops After Workaround
I modified the source code to get past the compilation error. However, when I try to mount via , the system throws a kernel oops error./dev/drbd0mount /dev/drbd0 /data
Key Info:
-
Kernel:
4.19.90-25.23.v2101.ky10.aarch64
-
DRBD version:
9.1.11
-
Goal: Successfully compile DRBD, then mount the device without kernel crashes.
Questions:
-
How can I properly fix the “‘q’ undeclared” error in ? (I suspect a missing variable declaration or scope issue.)
drbd_main.c
-
What might cause the kernel oops after compiling with my workaround? Could it relate to incorrect memory handling or mismatched data structures between DRBD and the kernel?
Has anyone encountered similar issues with DRBD 9.1.11 on this kernel version? Any advice for troubleshooting the compile error and kernel oops would be greatly appreciated!
Thanks in advance for your help.