]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
md: remove recovery_disabled
authorLi Nan <linan122@huawei.com>
Mon, 5 Jan 2026 11:03:00 +0000 (19:03 +0800)
committerYu Kuai <yukuai@fnnas.com>
Mon, 26 Jan 2026 05:17:38 +0000 (13:17 +0800)
commit5d1dd57929be2158fb5a8bc74817cc08b10b0118
tree5076edff32c496978ee72cb8e3925cd94a66c519
parent7435b73f05fbb40c07b087fefd3d40bfd759519c
md: remove recovery_disabled

'recovery_disabled' logic is complex and confusing, originally intended to
preserve raid in extreme scenarios. It was used in following cases:
- When sync fails and setting badblocks also fails, kick out non-In_sync
  rdev and block spare rdev from joining to preserve raid [1]
- When last backup is unavailable, prevent repeated add-remove of spares
  triggering recovery [2]

The original issues are now resolved:
- Error handlers in all raid types prevent last rdev from being kicked out
- Disks with failed recovery are marked Faulty and can't re-join

Therefore, remove 'recovery_disabled' as it's no longer needed.

[1] 5389042ffa36 ("md: change managed of recovery_disabled.")
[2] 4044ba58dd15 ("md: don't retry recovery of raid1 that fails due to error on source drive.")

Link: https://lore.kernel.org/linux-raid/20260105110300.1442509-13-linan666@huaweicloud.com
Signed-off-by: Li Nan <linan122@huawei.com>
Signed-off-by: Yu Kuai <yukuai@fnnas.com>
drivers/md/md.c
drivers/md/md.h
drivers/md/raid1.c
drivers/md/raid1.h
drivers/md/raid10.c
drivers/md/raid10.h
drivers/md/raid5.c
drivers/md/raid5.h