On Sun, Dec 18, 2011 at 03:00:12PM -0500, Christoph Hellwig wrote: > Now that we use the VFS i_size field throughout XFS there is no need for the > i_new_size field any more given that the VFS i_size field gets updated > in ->write_end before unlocking the page, and thus is a) always uptodate when > writeback could see a page. Removing i_new_size also has the advantage that > we will never have to trim back di_size during a failed buffered write, > given that it never gets updated past i_size. > > Note that currently the generic direct I/O code only updates i_size after > calling our end_io handler, which requires a small workaround to make > sure di_size actually makes it to disk. I hope to fix this properly in > the generic code. > > A downside is that we lose the support for parallel non-overlapping O_DIRECT > appending writes that recently was added. I don't think keeping the complex > and fragile i_new_size infrastructure for this is a good tradeoff - if we > really care about parallel appending writers we should investigate turning > the iolock into a range lock, which would also allow for parallel > non-overlapping buffered writers. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> Looks good. Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs