[Drbd-dev] q->queue_lock initialization

David Butterfield dab21774 at gmail.com
Tue Jun 18 21:45:20 CEST 2019

Regarding initialization of q->queue_lock:

Apparently the DRBD source requires that
    !defined(COMPAT_HAVE_BLK_QUEUE_FLAG_SET)  implies  defined(blk_queue_plugged)

So I suppose that must be true in all Linux kernel versions at or above 2.6.32.

But I did not implement or #define blk_queue_plugged, so the initialization of
q->queue_lock at drbd_main.c:3773 did not happen, so the spin_lock_irqsave() in the
compatibility version of blk_queue_flag_set:1942 would use the NULL q->queue_lock.

So I will look into defining blk_queue_plugged in my ~2.6.32 environment.
Thanks for your help understanding this.

More information about the drbd-dev mailing list