[DRBD-user] BLKFLSBUF: Inappropriate ioctl for device (when executing blockdev --flushbufs)

Werner Fischer werner.fischer at fh-hagenberg.at
Wed Sep 27 17:34:57 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.


On Wed, 2006-09-27 at 17:19 +0200, Lars Ellenberg wrote:
> I just did 
> # blockdev --flushbufs /dev/drbd0
> # echo $?
> 0
> 
> on our file server here.
> so it _does_ "just work".
> 
> what is your kernel?
OpenVZ Kernel 2.6.8-022stab078.14 (http://openvz.org/)

> which drbd version?
0.7.20

Here is the output (the cluster is currently degraded, but I think this
should not matter in this case):
--------------------------------------------------------------------
[root at node1 ~]# cat /proc/drbd
version: 0.7.20 (api:79/proto:74)
SVN Revision: 2260 build by phil at mescal, 2006-07-04 15:18:57
 0: cs:StandAlone st:Primary/Unknown ld:Consistent
    ns:0 nr:0 dw:16567336 dr:5597177 al:14061 bm:14318 lo:0 pe:0 ua:0 ap:0
[root at node1 ~]# blockdev --flushbufs /dev/drbd0
BLKFLSBUF: Inappropriate ioctl for device
[root at node1 ~]# echo $?
1
[root at node1 ~]# cat /proc/version
Linux version 2.6.8-022stab078.14 (root at kern268.build.sw.ru) (gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)) #1 Wed Jul 19 16:02:34 MSD 2006
[root at node1 ~]#
--------------------------------------------------------------------

Executing "blockdev --flushbufs" on the lower devices (drbd is on top of
a sw-raid1 (/dev/md3, which itself uses /dev/hdc3 and /dev/hda3 as lower
devices) works:
--------------------------------------------------------------------
[root at node1 ~]# blockdev --flushbufs /dev/md3
[root at node1 ~]# echo $?
0
[root at node1 ~]# blockdev --flushbufs /dev/hdc3
[root at node1 ~]# echo $?
0
[root at node1 ~]# blockdev --flushbufs /dev/hda3
[root at node1 ~]# echo $?
0
[root at node1 ~]#
--------------------------------------------------------------------

I also tried it on another cluster (which is not degraded). On this second
cluster drbd is on top of a hardware RAID device (3ware 9550sx). I get
the same results there.

As it seems to work on your side, maybe it has something to do with the
OpenVZ kernel?
On your side: what does DRBD upon "blockdev --flushbufs /dev/drbd0" - 
does DRBD forward the flush command to the lower devices?

Thanks for your help!




More information about the drbd-user mailing list