On Thu, Feb 13, 2020 at 10:01:09PM +0100, David Sterba wrote:
On Thu, Feb 13, 2020 at 07:20:33AM -0800, Greg Kroah-Hartman wrote:
From: Josef Bacik josef@toxicpanda.com
[ Upstream commit 96bf313ecb33567af4cb53928b0c951254a02759 ]
This commit does not exist in my tree, the correct upstream commit of the backported patch should be 42ffb0bf584ae5b6b38f72259af1e0ee417ac77f.
--- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -4060,6 +4060,14 @@ static int extent_write_cache_pages(struct extent_io_tree *tree, */ scanned = 1; index = 0;
/*
* If we're looping we could run into a page that is locked by a
* writer and that writer could be waiting on writeback for a
* page in our current bio, and thus deadlock, so flush the
* write bio here.
*/
flush_write_bio(data);
This has been modified to apply, flush_write_bio does not return a value in 4.9, perhaps this led to the different commit id.
Ah yes. This patch was tricky because there were two "big" things that broke on the backport:
1. flush_write_bio() returning a value. 2. The 'data' -> 'epd' rename.
96bf313ecb3 comes from when both of the above conditions overlapped, and I forgot that I'm basing my second backport change on something that was already modified.