[DRBD-user] Meaning of assertion in drbd?

Lars Ellenberg lars.ellenberg at linbit.com
Mon Oct 5 17:04:44 CEST 2015

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

On Sat, Sep 19, 2015 at 09:31:50AM -0600, Chris Friesen wrote:
> Hi,
> I'm running a 3.4.103 kernel (with RT patches, if it matters) and I
> recently saw the following error in the kernel logs:
> block drbd0: ASSERT( epoch->flags == 0 ) in
> <path>/drivers/block/drbd/drbd_receiver.c:1204

Upgrade your DRBD.
That part of code was broken, and has been fixed 3.5 years ago.
It could easily violate write dependency ordering.
It should be no problem as long as you use a single volume 0.

> I can see that this is an assertion failure in the
> WO_bdev_flush/WO_drain_io case of receive_Barrier().  However, I'm
> not totally clear on the implications.  Could someone explain what
> this means and how severe it is?

It means you use a 3.5 year old slightly broken DRBD version.

: Lars Ellenberg
: http://www.LINBIT.com | Your Way to High Availability
: DRBD, Linux-HA  and  Pacemaker support and consulting

DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.

More information about the drbd-user mailing list