On Thu, Aug 7, 2014 at 8:10 PM, Christoph Hellwig <hch@xxxxxx> wrote: > On Thu, Aug 07, 2014 at 07:51:57PM +0800, Peng Tao wrote: >> Is it bl_find_get_zeroing_page() you are concerning about? > > That's the primary culprit. > > If you want to do the read-modify write cycle properly you'll have to > do it at the time the invalid extent is read, not written. Take a look > at my patch to add a flag to do that in page 5, although it would > be a lot more involved to do it for large pnfs block sizes. Given > that the code never really fully worked beforehand I'm not tempted > to come up with that myself, though. > we can't assume all pages written back have their pari pages (for 8K block size e.g.) read in read_pagelists(). A page can also be read in via MDS read. So what we need is a hook into nfs_readpage to read or zero additional pages. But we might not even have a layout there. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html