[DRBD-user] Found a new disk flush error code

Lars Ellenberg lars.ellenberg at linbit.com
Tue Dec 16 13:56:53 CET 2008

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


On Mon, Dec 15, 2008 at 03:35:00PM +0100, Lars Ellenberg wrote:
> On Mon, Dec 15, 2008 at 03:14:28PM +0100, Thomas Reinhold wrote:
> > Thanks for your quick answer. 
> > 
> > This is the complete error message (I shoud have posted that in the first
> > place, sorry):
> > 
> > 
> >     Dec 11 21:47:56 bftest-54 kernel: FAILED
> >     Dec 11 21:47:56 bftest-54 kernel:   status = 1, message = 00, host = 0, driver = 08
> >     Dec 11 21:47:56 bftest-54 kernel:   <6>sd: Current: sense key: Illegal Request
> >     Dec 11 21:47:56 bftest-54 kernel:     Additional sense: Invalid command operation code
> 
> well, that is from the scsi layer.
> and yes, that is exactly the decoded scsi_execute_req return value
> 0x8000002 ;)
> 
> >     Dec 11 21:47:56 bftest-54 kernel: drbd0: local disk flush failed with
> >     status 134217730
> >
> > What I forgot to mention is that DRBD runs on top of a dm device (dm-crypt),
> > which in turn runs on top of the raid array. Could that cause the problem?
> 
> I was not aware that redhat has patched its 2.6.18 dm-crypt to
> (pretend to?) support flushed/barriers.

correction.
apparently device mapper in 2.6.9 up to and including 2.6.22
(kernel.org; cannot speak for vendor kernels)
do always just pass on flushes and barriers,
and let the lower level targets/drivers handle it.
or not.
2.6.23 and later do reject barriers with EOPNOTSUPP right in dm_req,
and since flushes became empty barriers in 2.6.24, flushes are now
no longer supported on devicemapper, either.

strange move.

> but that should be irrelevant in this context.
> 
> apparendly your lower level driver (what driver module is in use?) does
> not support flush requests, or something in the device mapper stack
> converts the flush request into something that the driver does not
> understand.
> 
> we may consider to handle any return value != 0 in the same way in drbd.
> meanwhile, the correct fix is:
> 
> >         I have disabled disk flushing for now, and the error obiously has gone.

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

DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.
__
please don't Cc me, but send to list   --   I'm subscribed



More information about the drbd-user mailing list