[DRBD-user] DRBD IO request mechanism safety

Miroslav Jany mj at svsbb.sk
Sat Jul 8 18:45:21 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.


Hi all!

Can somebody of the DRBD developers please confirm this claim?

-If any IO request is made to a DRBD device which is not in
Primary state, that request will fail.

I need to be sure about the aboved-mentioned statement because recently
I've found this information in the machine's kernel log file and I'm starting
to think about possible data corruption:

...
Jul  6 21:23:20 xxxx kernel: drbd1: Not in Primary state, no IO
requests allowed
Jul  6 21:23:20 xxxx kernel: Buffer I/O error on device drbd1, logical
block 0
Jul  6 21:23:20 xxxx kernel: drbd1: Not in Primary state, no IO
requests allowed
Jul  6 21:23:20 xxxx kernel: Buffer I/O error on device drbd1, logical
block 1
Jul  6 21:23:20 xxxx kernel: drbd1: Not in Primary state, no IO
requests allowed
Jul  6 21:23:20 xxxx kernel: Buffer I/O error on device drbd1, logical
block 2
Jul  6 21:23:20 xxxx kernel: drbd1: Not in Primary state, no IO
requests allowed
Jul  6 21:23:20 xxxx kernel: Buffer I/O error on device drbd1, logical
block 3
Jul  6 21:23:20 xxxx kernel: drbd1: Not in Primary state, no IO
requests allowed
Jul  6 21:23:20 xxxx kernel: Buffer I/O error on device drbd1, logical
block 4
Jul  6 21:23:20 xxxx kernel: Buffer I/O error on device drbd1, logical
block 5
Jul  6 21:23:20 xxxx kernel: Buffer I/O error on device drbd1, logical
block 6
Jul  6 21:23:20 xxxx kernel: Buffer I/O error on device drbd1, logical
block 7
Jul  6 21:23:20 xxxx kernel: Buffer I/O error on device drbd1, logical
block 0
Jul  6 21:23:20 xxxx kernel: Buffer I/O error on device drbd1, logical
block 0
...

We're using DRBD version 0.7.14. For me it looks like there's a safety
mechanism implemented in DRBD, which prevents such IO requests to be
made, but since I'm not a programming guru (and although I've taken a
look at the relevant DRBD source code lines - especially drbd_req.c),
it's just my personal assumption. And, I cannot try to reproduce such
requests (ie. issue dd on /dev/drbd1 and try to read some blocks),
because it's a production machine.

-Mirek



More information about the drbd-user mailing list