lkml.org 
[lkml]   [2000]   [Sep]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Still ext2-corruption in test8-pre5 (incl. OOPS)


On Wed, 6 Sep 2000, Chris Mason wrote:
>
> Ah, I was missing that __block_prepare_write and __block_write_fullpage
> both set the end_io handler to end_io_sync. In one case, reiserfs is doing
> i/o without properly setting the handler, which is why I was seeing bugs
> caused by the above problem, and ext2 wasn't.

We might actually want to get away from the default handler: it made sense
as we were gradually rewriting old code to conform to new rules, but these
days it's just dangerous when it can result in something like the above. I
_almost_ had the same bug in the truncate patch I sent out yesterday, and
I caught it only because I was thinking hard about it.

It migth be something as simple as doing a

static void uninitialized_bh_io_handler(struct buffer_head *bh, int uptodate)
{
printk("Uhhuh, bh without uninitialized end-io function\n");
/* ..but fall back on the old default after complaining */
end_buffer_io_async(bh, uptodate);
}

which will still _work_, but complain quite loudly if somebody just relies
on the old default hander..

Linus

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

\
 
 \ /
  Last update: 2005-03-22 12:38    [W:0.038 / U:25.948 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site