On May 11, 2026 10:20:41 PM PDT, Christoph Hellwig <[email protected]> wrote: >While the RAID6 algorithm could in theory support 3 devices by just >copying the data disk to the two parity disks, this version is not only >useless because it is a suboptimal version of 3-way mirroring, but also >broken with various crashes and incorrect parity generation in various >architecture-optimized implementations. Disallow it similar to mdraid >which requires at least 4 devices for RAID 6. > >Fixes: 53b381b3abeb ("Btrfs: RAID5 and RAID6") >Signed-off-by: Christoph Hellwig <[email protected]> >--- > fs/btrfs/volumes.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c >index a88e68f90564..0b54b97bdad8 100644 >--- a/fs/btrfs/volumes.c >+++ b/fs/btrfs/volumes.c >@@ -159,7 +159,7 @@ const struct btrfs_raid_attr >btrfs_raid_array[BTRFS_NR_RAID_TYPES] = { > .sub_stripes = 1, > .dev_stripes = 1, > .devs_max = 0, >- .devs_min = 3, >+ .devs_min = 4, > .tolerated_failures = 2, > .devs_increment = 1, > .ncopies = 1,
Yes, if anyone cares about < 4 disks for the RAID-6 case (or < 3 for the RAID-4/5 case), just use the RAID-1 code.
