Re: The INN/mmap bug

From: Alexander Viro (viro@math.psu.edu)
Date: Sun Sep 17 2000 - 23:59:18 EST


On Sun, 17 Sep 2000, Linus Torvalds wrote:

> At that point, block_write_full_page() would become something like
>
> unsigned long index = inode->i_size >> PAGE_CACHE_SHIFT;
>
> offset = inode->i_size & (PAGE_CACHE_SIZE-1);
> if (index > page->index)
> offset = PAGE_CACHE_SIZE;
>
> create_empty_buffers(page, 0, offset);
> for_each_buffer(page) {
> if (buffer_mapped(bh))
> mark_buffer_dirty(bh);
> }
>
> which would certainly be simpler than the current code. Hmm.

At that point it will become prepare_write+commit_write. Which may be a
good thing in many other respects. I wonder if we need the
->writepage() at all - I seriosuly suspect that the reason why I didn't
kill it back when I added ->prepare_write() was that I _did_ stumble on
that bug with reads and didn't realize that.

-
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/



This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 21:00:16 EST