On Mon, Jan 16, 2012 at 12:32:01PM -0600, Ben Myers wrote: > On Sun, Dec 18, 2011 at 03:00:11PM -0500, Christoph Hellwig wrote: > > There is no fundamental need to keep an in-memory inode size copy in the XFS > > inode. We already have the on-disk value in the dinode, and the separate > > in-memory copy that we need for regular files only in the XFS inode. > > > > Remove the xfs_inode i_size field and change the XFS_ISIZE macro to use the > > VFS inode i_size field for regular fields. Switch code that was directly files. I'll fix that up. -Ben > > accessing the i_size field in the xfs_inode to XFS_ISIZE, or in cases where > > we are limited to regular files direct access of the VFS inode i_size field. > > > > This also allows dropping some fairly complicated code in the write path > > which dealt with keeping the xfs_inode i_size uptodate with the VFS i_size > > that is getting updated inside ->write_end. > > > > Note that we do not bother resetting the VFS i_size when truncating a file > > that gets freed to zero as there is point in doing so because the VFS inode > > is no longer in use at this point. Just relax the assert in xfs_ifree to > > only check the on-disk size instead. > > > > Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > > This looks good to me too. The only suggestion I had was that in some > of these places where we call XFS_ISIZE or i_size_read twice in a row, > it might be nicer to read them into a local variable and use that. > Dave's comments were very helpful. > > Reviewed-by: Ben Myers <bpm@xxxxxxx> _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs