On Fri, Aug 19, 2022 at 04:39:48PM +0800, Qu Wenruo wrote:
This is the backport for v5.15.x stable branch.
The full explananation can be found here: https://lore.kernel.org/linux-btrfs/Yv85PTBsDhrQITZp@kroah.com/T/#t
Difference between v5.15.x and v5.18.x backports:
btrfs_io_contrl::fs_info and btrfs_raid_bio::fs_info refactor In v5.15 and older kernel, btrfs_raid_bio and btrfs_io_control both have fs_info member, and the new rbio_add_bio() function utilizes btrfs_io_ctrl::fs_info.
Unfortunately that rbio->bioc->fs_info is not always initialized in v5.15 and older kernels. Thus has to use rbio->fs_info instead.
If not properly handled, can lead to btrfs/158 crash.
Qu Wenruo (2): btrfs: only write the sectors in the vertical stripe which has data stripes btrfs: raid56: don't trust any cached sector in __raid56_parity_recover()
fs/btrfs/raid56.c | 74 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 57 insertions(+), 17 deletions(-)
-- 2.37.1
All now queued up, thanks.
greg k-h