All of lore.kernel.org
 help / color / mirror / Atom feed
From: DanglingPointer <danglingpointerexception@gmail.com>
To: Qu Wenruo <quwenruo.btrfs@gmx.com>,
	Ulli Horlacher <framstag@rus.uni-stuttgart.de>,
	linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: btrfs RAID5 or btrfs on md RAID5?
Date: Tue, 21 Oct 2025 12:02:09 +1100	[thread overview]
Message-ID: <3a3df034-4461-4c35-b170-a5084586d2b3@gmail.com> (raw)
In-Reply-To: <d3a5e463-d00e-4428-ad7b-35f87f9a6550@gmx.com>

Are there any plans to work on either of the proposed solutions 
mentioned here to once and for all fix RAID56?

On 22/9/25 17:41, Qu Wenruo wrote:
>
>
> 在 2025/9/22 16:39, Ulli Horlacher 写道:
>>
>> I have 4 x 4 TB SAS SSD (from a deactivated Netapp system) which I 
>> want to
>> recycle in my workstation PC (Ubuntu 24 with kernel 6.14).
>>
>> Is btrfs RAID5 ready for production usage or shall I use non-RAID 
>> btrfs on
>> top of a md RAID5?
>
> Neither is perfect.
>
> Btrfs RAID56 has no journal to protect against write hole. But has the 
> ability to properly detect and rebuild corrupted data using data 
> checksum.
>
> Meanwhile MD raid56 has journal to protect against wirte hole, but has 
> no checksum to know which data is correct or not.
>
>>
>> What is the current status?
>>
>
> No extra work is done for btrfs RAID56 write hole for a while.
>
> The experimental raid-stripe-tree has some potential to address the 
> problem, but that feature doesn't support RAID56 yet.
>
>
> Another solution is something like RAIDZ, which requires block size > 
> page size support, and extra RAID56 changes (mostly much smaller 
> stripe length, 4K instead of the current 64K).
>
> The bs > ps support is not even merged, and submitted patchset lacks 
> certain features (RAID56 ironically).
> And no formal RAIDZ support is even considered.
>
> So you either run RAID5 for data only and ran full scrub after every 
> unexpected power loss (slow, and no further writes until scrub is 
> done, which is further maintanance burden).
> Or just don't use RAID5 at all.
>
> Thanks,
> Qu
>

  parent reply	other threads:[~2025-10-21  1:02 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-22  7:09 btrfs RAID5 or btrfs on md RAID5? Ulli Horlacher
2025-09-22  7:41 ` Qu Wenruo
2025-09-22  8:28   ` Ulli Horlacher
2025-09-22  9:06     ` Qu Wenruo
2025-09-22  9:23       ` Ulli Horlacher
2025-09-22  9:27         ` Qu Wenruo
2025-10-20  9:00           ` Ulli Horlacher
2025-10-20  9:31             ` Andrei Borzenkov
2025-09-22  9:43   ` Ulli Horlacher
2025-09-22 10:41     ` Qu Wenruo
2025-10-21  1:02   ` DanglingPointer [this message]
2025-10-21 15:46     ` Mark Harmstone
2025-10-21 15:53       ` Christoph Anton Mitterer
2025-10-21 16:15         ` Jukka Larja
2025-10-21 16:45         ` Mark Harmstone
2025-10-21 17:32           ` Andrei Borzenkov
2025-10-21 17:43             ` Mark Harmstone
2025-10-21 19:32           ` Goffredo Baroncelli
2025-10-21 22:19             ` DanglingPointer
2025-09-22  8:07 ` Lukas Straub
2025-09-22  8:50   ` Ulli Horlacher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3a3df034-4461-4c35-b170-a5084586d2b3@gmail.com \
    --to=danglingpointerexception@gmail.com \
    --cc=framstag@rus.uni-stuttgart.de \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=quwenruo.btrfs@gmx.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.