Re: [PATCH STABLE 5.18 0/2] btrfs: raid56 backports to reduce destructive RMW

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 2022/8/4 16:10, Qu Wenruo wrote:
Hi Greg and Sasha,

This two patches are backports for v5.18 branch.

These two patches are reducing the chance of destructive RMW cycle,
where btrfs can use corrupted data to generate new P/Q, thus making some
repairable data unrepairable.

Those patches are more important than what I initially thought, thus
unfortunately they are not CCed to stable by themselves.

Furthermore due to recent refactors/renames, there are quite some member
change related to those patches, thus have to be manually backported.
(The v5.18 backport is more like the v5.15 backport, with small tweaks
due to member naming change).

Just to mention, thankfully the crash in v5.15 backports are not affecting v5.18 backports.

The uninitialized btrfs_raid_bio::fs_info is solved by the commit 731ccf15c952 ("btrfs: make sure btrfs_io_context::fs_info is always initialized"), which is already in the tree.

Thanks,
Qu

One of the fastest way to verify the behavior is the existing btrfs/125
test case from fstests. (not in auto group AFAIK).

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(-)




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux