Messages in this thread | | | Date | Fri, 22 Dec 2000 08:49:09 -0500 | From | Chris Mason <> | Subject | Re: [RFC] changes to buffer.c (was Test12 ll_rw_block error) |
| |
On Thursday, December 21, 2000 20:54:09 -0500 Alexander Viro <viro@math.psu.edu> wrote:
> > > On Thu, 21 Dec 2000, Chris Mason wrote: > >> Obvious bug, block_write_full_page zeros out the bits past the end of >> file every time. This should not be needed for normal file writes. > > Unfortunately, it _is_ needed for pageout path. mmap() the last page > of file. Dirty the data past the EOF (MMU will not catch that access). > Let the pageout send the page to disk. You don't want to have the data > past EOF end up on the backstore. >
Sorry, I wasn't very clear. I'd like to find a way to just do the memset in the one case it is needed (a real writepage), and not do it when we are using writepage just to flush dirty buffers. I don't see how to do it though, without making a new flush operation. That would also solve my concerns about the change in writepage semantics (even though every FS I could find in the kernel tree was using block_write_full_page).
thanks, Chris
- 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/
| |