[DRBD-user] kernel oops drbd 8.0_pre2 on Fedora Core 5 and RHEL4

Lars Ellenberg Lars.Ellenberg at linbit.com
Tue Apr 11 15:44:26 CEST 2006

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.

/ 2006-04-11 13:42:55 +0100
\ Langemeyer, Werner (IBW):
> Lars, 
> still the same..., the complete /var/log/message could be find below:

you are very sure that the module in use is the one with the patch?

because it is very simple:
in the kernel source: block/ll_rw_blk.c:
  |void blk_run_queue(struct request_queue *q)
  |	unsigned long flags;
  |	spin_lock_irqsave(q->queue_lock, flags);
which is called from drbd_bitmap.c
  |	drbd_blk_run_queue(bdev_get_queue(mdev->bc->md_bdev));

which now is this macro wrapper
  |#define drbd_blk_run_queue(q) do {      \
  |        request_queue_t *_q = (q);      \
  |        if (_q) blk_run_queue(_q);      \
  |        else {                          \
  |                WARN(#q "== NULL??\n"); \
  |        };                              \
  |} while (0)

so, to get this "NULL pointer dereference" in spinlock,
you have to have no queue defined for the block device,
which due to the macro now would no longer call into blk_run_queue,
thus would not produce the stack trace you have.

: Lars Ellenberg                                  Tel +43-1-8178292-0  :
: LINBIT Information Technologies GmbH            Fax +43-1-8178292-82 :
: Schoenbrunner Str. 244, A-1120 Vienna/Europe   http://www.linbit.com :
please use the "List-Reply" function of your email client.

More information about the drbd-user mailing list