[DRBD-user] Mainline plans, compilation issues

Christoph Böhmwalder christoph.boehmwalder at linbit.com
Thu Feb 3 16:09:32 CET 2022


Am 02.02.22 um 16:10 schrieb Wouter de Geus:
> Hi folks,
> I've been running drbd 8.4 between 2 Xen nodes like a charm since ~2014.
> One node just had its hardware upgraded, so I was looking into upgrading drbd as well.
> Just built the latest longterm kernel which I'm trying this against - 5.15.19.
> While it seems like 8.4->9.0 is a valid strategy, OR moving both (with downtime) to 9.$latest it seems like this is cumbersome.
> Currently I'm happily using the 8.4.x versions that are in mainline, so my first question:
> Do you have plans to upgrade mainline to v9, and when you do, will that be a new option or replace the old one?

We do, in fact we have been talking about upstreaming v9 for quite some 
time. Alas, as it turns out, it would be an insane amount of work 
because the git histories of the various repositories are... interesting 
at times. Kind of a long story, but you can take my word for it – it's 
not easy.

That being said, we are still planning on it, it's just pretty far back 
in our backlog.
Since v9 "evolved" from v8 naturally (it is even backwards compatible), 
an upstream version of v9 would very likely just replace v8.

> Next: I can't get the sources compiled. Stood upside down to make `spatch` available since the patch service gave me a 400 Bad Request
> for 9.0.32, but that then crashes with: cat: drbd-kernel-compat/patches/claim_disk__no_link__no_claim.patch: No such file or directory
> For 9.1.5 I run into this one:
>    CC [M]  /usr/src/drbd-9.1.5/drbd/drbd_req.o
>    /usr/src/drbd-9.1.5/drbd/drbd_req.c: In function 'remote_due_to_read_balancing':
>    /usr/src/drbd-9.1.5/drbd/drbd_req.c:1218:66: error: 'struct request_queue' has no member named 'backing_dev_info'
>     1218 |                 bdi =& device->ldev->backing_bdev->bd_disk->queue->backing_dev_info;
>           |                                                                  ^~
>           scripts/Makefile.build:277: recipe for target '/usr/src/drbd-9.1.5/drbd/drbd_req.o' failed
>           make[3]: *** [/usr/src/drbd-9.1.5/drbd/drbd_req.o] Error 1

Unfortunately 5.15.x is a very recent kernel, and we cannot guarantee 
compatibility with all mainline kernels. We try very hard to stay 
compatible with commonly used distribution kernels (which is already 
well over 100!). We also try – a little bit less hard – to be compatible 
with the latest mainline kernel, but since practically no-one would pay 
us for that it's just not worth prioritizing it.

The latest kernel that we verifiably support is 5.14.0-1.7.1.el9 from 
the recent RHEL9 beta release. A mainline 5.14 *probably* also works, 
but again, no guarantees.

> Any suggestions, or should I stick with 8.4 and make my life easier?

A shameless plug at this point: you can become a LINBIT customer, which 
would certainly make your life easier in this regard :)
We offer pre-built packages for our customers, and while we don't 
officially support 5.15 yet, maybe we would be able to make something 
happen if there is explicit demand.

> Regards,
> Wouter.
> _______________________________________________
> Star us on GITHUB: https://github.com/LINBIT
> drbd-user mailing list
> drbd-user at lists.linbit.com
> https://lists.linbit.com/mailman/listinfo/drbd-user

Hope this helps.

Christoph Böhmwalder
LINBIT | Keeping the Digital World Running
DRBD HA —  Disaster Recovery — Software defined Storage

More information about the drbd-user mailing list