Hi everyone, We've been working on a few important Btrfs regressions for the last two weeks, and this pull request has the result. Many thanks to Mitch Harder and Xin Zhong for nailing down the btrfs_file_write looping.
Linus, please pull the master branch of the btrfs unstable tree: git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git master These commits keep btrfs_file_write from looping forever when things go wrong with copy_from_user, and they also make sure not to produce partially up to date pages if copy_from_user gives us a short return. Hammering on btrfs fiemap found another bug where we returned overlapping extents, which made for incorrect results with the cp program (destination files larger than the original). This pull also has a commit to tweak our forced delalloc writeback while we are trying to reclaim space. With a number of writers determined to fill the FS, we used to end up stuck in shrink_delalloc forever. Chris Mason (4) commits (+131/-60): Btrfs: make sure not to return overlapping extents to fiemap (+27/-6) Btrfs: deal with short returns from copy_from_user (+13/-0) Btrfs: fix regressions in copy_from_user handling (+59/-42) Btrfs: break out of shrink_delalloc earlier (+32/-12) Miao Xie (1) commits (+3/-2): btrfs: fix not enough reserved space Daniel J Blueman (1) commits (+1/-0): btrfs: fix dip leak Total: (6) commits (+135/-62) fs/btrfs/ctree.h | 9 ++++ fs/btrfs/extent-tree.c | 35 ++++++++++----- fs/btrfs/extent_io.c | 33 +++++++++++--- fs/btrfs/file.c | 114 ++++++++++++++++++++++++++++++------------------ fs/btrfs/inode.c | 6 ++- 5 files changed, 135 insertions(+), 62 deletions(-) -- 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