Re: FAILED: patch "[PATCH] ext4: iterate over buffer heads correctly in" failed to apply to 4.5-stable tree

Eryu Guan
2016-05-21T11:15:39Z

Hi greg,

On Sat, Apr 09, 2016 at 05:51:24PM -0700, gregkh@linuxfoundation.org wrote:
>
> The patch below does not apply to the 4.5-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <stable@vger.kernel.org>.

4.5 kernel has this patch already, so this failure is expected.

But 4.4 stable needs it as well, and the patch should be applied
cleanly. Can you please consider adding commit 6ffe77bad545 ("ext4:
iterate over buffer heads correctly in move_extent_per_page()") to 4.4
stable tree?

Thanks!

Eryu

>
> thanks,
>
> greg k-h
>
> ------------------ original commit in Linus's tree ------------------
>
> From 87f9a031af48defee9f34c6aaf06d6f1988c244d Mon Sep 17 00:00:00 2001
> From: Eryu Guan <guaneryu@gmail.com>
> Date: Sun, 21 Feb 2016 18:38:44 -0500
> Subject: [PATCH] ext4: iterate over buffer heads correctly in
> move_extent_per_page()
>
> In commit bcff24887d00 ("ext4: don't read blocks from disk after extents
> being swapped") bh is not updated correctly in the for loop and wrong
> data has been written to disk. generic/324 catches this on sub-page
> block size ext4.
>
> Fixes: bcff24887d00 ("ext4: don't read blocks from disk after extentsbeing swapped")
> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
> Cc: stable@vger.kernel.org
>
> diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c
> index e032a0423e35..4098acc701c3 100644
> --- a/fs/ext4/move_extent.c
> +++ b/fs/ext4/move_extent.c
> @@ -390,6 +390,7 @@ data_copy:
> *err = ext4_get_block(orig_inode, orig_blk_offset + i, bh, 0);
> if (*err < 0)
> break;
> + bh = bh->b_this_page;
> }
> if (!*err)
> *err = block_commit_write(pagep[0], from, from + replaced_size);
>