Re: [patch/2.4] ll_rw_blk stomping on bh state [Re: kernel BUG at

Andrew Morton (akpm@digeo.com)
Fri, 15 Nov 2002 10:05:17 -0800


"Stephen C. Tweedie" wrote:
>
> Hi,
>
> On Tue, Nov 12, 2002 at 06:53:45PM +0000, Stephen C. Tweedie wrote:
>
> > On Tue, Nov 12, 2002 at 09:57:05AM -0800, Andrew Morton wrote:
> > > "Stephen C. Tweedie" wrote:
> > > >
> > > > if (maxsector < count || maxsector - count < sector) {
> > > > /* Yecch */
> > > > bh->b_state &= (1 << BH_Lock) | (1 << BH_Mapped);
> > > > ...
> > > > Folks, just which buffer flags do we want to preserve in this case?
> >
> > > Why do we want to clear any flags in there at all? To prevent
> > > a storm of error messages from a buffer which has a silly block
> > > number?
> >
> > That's the only reason I can think of. Simply scrubbing all the state
> > bits is totally the wrong way of going about that, of course.
>
> So what's the vote on this? It's a decision between clearing only the
> obvious bit (BH_Dirty) on the one hand, and keeping the code as
> unchanged as possible to reduce the possibility of introducing new
> bugs.
>
> But frankly I can't see any convincing argument for clearing anything
> except the dirty state in this case.
>

I'd agree with that. And the dirty bit will already be cleared, won't it?

Maybe just treat it as an IO error and leave it at that; surely that won't
introduce any problems, given all the testing that has gone into the
error handling paths :)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/