On 03/08/16 01:56, Liu Bo wrote: > If sequential writer is writing in the middle of the page and it just > redirties > the last written page by continuing from it. > > In the above case this can end up with seeking back to that firstly redirtied > page after writing all the pages at the end of file because btrfs updates > mapping->writeback_index to 1 past the current one. > > For non-cow filesystems, the cost is only about extra seek, while for cow > filesystems such as btrfs, it means unnecessary fragments. > > To avoid it, we just need to continue writeback from the last written page. > > This also updates btrfs to behave like what write_cache_pages() does, ie, bail > out immediately if there is an error in writepage(). > > <Ref: https://www.spinics.net/lists/linux-btrfs/msg52628.html> > > Reported-by: Holger Hoffstätte <holger.hoffstae...@googlemail.com> > Signed-off-by: Liu Bo <bo.li....@oracle.com>
Very nice, seems to work as advertised. Can't speak for the data integrity implications, but for the functionality of both patches: Tested-by: Holger Hoffstätte <holger.hoffstae...@googlemail.com> Thank you! Holger -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html