Re: [PATCH 03/27] xfs: use write_cache_pages for writeback clustering

Christoph Hellwig
2011-07-01T09:00:00Z

> xfs: writepage context needs to handle discontiguous page ranges
>
> From: Dave Chinner <dchinner@redhat.com>
>
> If the pages sent down by write_cache_pages to the writepage
> callback are discontiguous, we need to detect this and put each
> discontiguous page range into individual ioends. This is needed to
> ensure that the ioend accurately represents the range of the file
> that it covers so that file size updates during IO completion set
> the size correctly. Failure to take into account the discontiguous
> ranges results in files being too small when writeback patterns are
> non-sequential.

Looks good. I still wonder why I haven't been able to hit this.
Haven't seen any 180 failure for a long time, with both 4k and 512 byte
filesystems and since yesterday 1k as well.

I'll merge this, and to avoid bisect regressions it'll have to go into
the main writepages patch. That probaby means folding the add_to_ioend
cleanup into it as well to not make the calling convention too ugly.