Re: [PATCH] fixes defect with kernel BUG using multipath on 2.6.0-test5

From: Jens Axboe
Date: Sat Sep 27 2003 - 03:34:47 EST


On Fri, Sep 26 2003, Steven Dake wrote:
> Folks,
> Thanks Matt and Jens for the debug help on the multipath problem. I now
> have a patch (attached) which solves the problem and makes multipath
> work properly. There are two types of "flags" that are used in a block
> io request, bi_flags, and bi_rw. bi_flags is used for flags to the
> block level code, and bi_rw is used for flags to the low level device
> drivers. The code in the multipath driver used the wrong flag in the
> wrong field. In this case, the flag FASTFAIL (value 3) was being set to
> the bi_flags field. FASTFAIL is a hint to the low level driver that it
> should try to fail out quickly. Unfortunately, the value 3 is also
> BIO_SEG_VALID, which is a flag to the block subsystem that the segments
> shouldn't be recalculated. The result was that the wrong field was set,
> telling the block layer not to recalculate the segments resulting in
> phys and hw segments of 0. Not good.
>
> Neil can you send upstream ?

Auch good catch! I'm sorry to say this is actually my fault...

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/