Re: kernel BUG at drivers/ide/ide-disk.c:187 (2.6.31)

Bartlomiej Zolnierkiewicz
2009-10-01T09:23:48Z

On Thursday 01 October 2009 10:30:30 David Miller wrote:
> From: Frans Pop <elendil@planet.nl>
> Date: Thu, 1 Oct 2009 10:26:14 +0200
>
> > Question for IDE maintainers: should maybe the old printing of request info
> > be reinstated, or can the request flags also be obtained from the BUG
> > info?
>
> Using a BUG for this doesn't make it any easier to track down the
> problem. WARN_ON_ONCE() or similar is much more appropriate here.
>
> BUG() is for situations where the system's state is completely
> irrecoverably corrupted, and we cannot continue, and that is not the
> case here at all.

The problem is that you simply cannot know what is the system state here.

Thus when the unknown block layer request is encountered the best thing
you can do is to BUG early instead of allowing the situation when some
requests are silently dropped and possibly causing the data corruption.