[DRBD-user] Linux 5.0 type of queue_lock has been changed/ drbd module error

Roland Kammerer roland.kammerer at linbit.com
Wed Mar 6 11:19:10 CET 2019

On Wed, Mar 06, 2019 at 12:03:31AM +0100, cbox at gmx.net wrote:
> Hello,
> Kernel 5.0.0
> File  include/linux/blkdev.h
> queue_lock is no longer a pointer:
> struct request_queue {
>    :
>    spinlock_t queue_lock;
>    :
> }
> Kernel 4.20.13
> struct request_queue {
>    spinlock_t *queue_lock;
> }
> This triggers a type error/breaks building drbd 9.0.16 module
> drbd/drbd_main.c Line 3738
> q->queue_lock = &resource->req_lock;
> The question is what is wrong: Kernel or DRBD?

The answer is: nobody

DRBD9 is developed out of tree. Obviously code in Linux changes (all the
time). What we do is:
- Change our code that it reflects the changes in Linux upstream. We
  want to use the new, cool features ourselves.
- Provide compat code so that the out of tree module builds for all the
  older kernels we care about.

For 5.0 this has not happened yet. Upstream changed something, nobody is
wrong. There will be a new 9.0.17 "soon". Before we release it we make
sure it compiles with latest upstream (and the old kernels we care
about). For now your kernel is too new.

Regards, rck

More information about the drbd-user mailing list