Re: [PATCH 06/13] xfs: xfs_sync_data is redundant.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Oct 01, 2012 at 04:14:40PM -0400, Brian Foster wrote:
> On 09/28/2012 12:44 AM, Dave Chinner wrote:
> > From: Dave Chinner <dchinner@xxxxxxxxxx>
> > 
> > We don't do any data writeback from XFS any more - the VFS is
> > completely responsible for that, including for freeze. We can
> > replace the remaining caller with the VFS level function that
> > achieves the same thing, but without conflicting with current
> > writeback work - writeback_inodes_sb_if_idle().
> > 
> > This means we can remove the flush_work and xfs_flush_inodes() - the
> > VFS functionality completely replaces the internal flush queue for
> > doing this writeback work in a separate context to avoid stack
> > overruns.
> > 
> > This does have one complication - it cannot be called with page
> > locks held.  Hence move the flushing of delalloc space when ENOSPC
> > occurs back up into xfs_file_aio_buffered_write when we don't hold
> > any locks that will stall writeback.
> > 
> > Note that we always need to pass a count of zero to
> > generic_file_buffered_write() as the previously written byte count.
> > We only do this by accident before this patch by the virtue of ret
> > always being zero when there are no errors. Make this explicit
> > rather than needing to specifically zero ret in the ENOSPC retry
> > case.
> > 
> > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
> 
> Heads up... I was doing some testing against my eofblocks set rebased
> against this patchset and I'm reproducing a new 273 failure. The failure
> bisects down to this patch.

Nice catch Brian!

Regards,
	Ben

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux