On Fri, 16 Feb 2007 00:07:55 +0300 Alex Tomas <alex@xxxxxxxxxxxxx> wrote: > >>>>> Andrew Morton (AM) writes: > > AM> If the page doesn't have buffer-heads, set PG_private and clear page->private > > AM> If the page does have buffer_heads, use BH_Delay. > > I did exactly this way in the first version, but later > got feeling that the community'd discard "ugly hack". These things can be wrapped in nice helper functions in header files. that allows us to easily reimplement if a better idea comes along. And we already do all sorts of horrid things to save space in the page struct. > one more question: how much of it you want in VFS? As much as possible, really. It's probably too late for XFS to reuse any new infrastructure, but if the infrastructure is well-designed it _should_ be possible to us it in new filesytems, and to convert ext2. > ->get_block(with BH_Delay) can be used to signal > filesystem that no actual allocation is required. > so, aware filesystem can just reserve space. then > ->writepages() should walk through the pages like > it does currently, collect contiugous sequences > and again call ->get_block(w/o BH_Delay) with b_size > covering all contiguous pages ... > That sounds like it'd work, yes. Except for an address_space which is using delayed allocation, its ->prepare_write wouldn't call get_block at all, so perhaps that isn't needed. - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html