Re: hfs support for blocksize != 512

From: Roman Zippel (
Date: Thu Aug 31 2000 - 10:47:11 EST


On Wed, 30 Aug 2000, Alexander Viro wrote:

> c) ->i_sem on pageout? When?

For 2.2.16:

filemap_write_page() <- filemap_swapout() <- try_to_swap_out() <- ... <-
swap_out() <- do_try_to_free_pages() <- kswapd()

filemap_write_page() takes i_sem and calls do_write_page(). What did I

> BKL matters only in the areas where you do not block. Moreover,
> fs code is still under the BKL, so it's totally moot.

Let me state it differently, what I'm trying to say:
Past: Lots of filesystem code wasn't designed/written with multiple
threads in mind. The result is lots of races.
Future: We want to experiment with a preempting kernel. Maybe that
experiment will fail, but I'm certainly interested in it. But the result
here will be a wonderful world of new races and I'm pretty sure your ext2
fixes will break here, one more reason I'm so keen to use sempahores.

All I wanted to say is that level of threading is changing. How that is
visible in the fs layer is a different problem.

> > > Wrong. As the matter of fact, we could trivially get rid of _any_ use of
> > > bread() and friends on ext2.
> >
> > Excuse my stupidity, but could you please outline me how?
> Using kiovec, for one thing.

Huh? You said "trivially".

> One thing that became really obvious is that current documentation
> is either not enough or not read. Hell knows what to do about the latter,
> but the former can be helped.

Documentation is one (good) thing (I really tried to find as much as
possible), but my point is that I tried to discuss design issues, I didn't
want to know how it works now (for that I can and do read the source), I
want to discuss the possibility of alternative solutions, is that really
Anyway, after I discussed that enough with myself, I think I can try to
code up something as soon as find the time for it.

bye, Roman

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

This archive was generated by hypermail 2b29 : Thu Aug 31 2000 - 21:00:27 EST