public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] md/md-llbitmap: fixes and proactive parity building support
@ 2026-02-14  6:10 Yu Kuai
  2026-02-14  6:10 ` [PATCH 1/5] md/md-llbitmap: skip reading rdevs that are not in_sync Yu Kuai
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Yu Kuai @ 2026-02-14  6:10 UTC (permalink / raw)
  To: song; +Cc: linan122, xni, colyli, linux-raid, linux-kernel

This series contains fixes and enhancements for the md-llbitmap (lockless
bitmap) implementation.

Patches 1-2 are bug fixes:
- Patch 1 fixes bitmap data being read from spare disks that are not yet
  in sync, which could lead to incorrect dirty bit tracking.
- Patch 2 fixes a race condition where the state machine could transition
  before the barrier is properly raised.

Patch 3 improves compatibility with older mdadm versions by detecting
on-disk bitmap version and falling back to the correct bitmap_ops when
there's a version mismatch.

Patch 4 adds support for proactive XOR parity building in RAID-456 arrays.
This allows users to pre-build parity for unwritten regions via sysfs
before any user data is written, which can improve write performance for
workloads that will eventually use all storage. New states (CleanUnwritten,
NeedSyncUnwritten, SyncingUnwritten) are added to track these regions
separately from normal dirty/syncing states.

Patch 5 optimizes initial array sync for RAID-456 arrays on devices that
support write_zeroes with unmap. By zeroing all disks upfront, parity is
automatically consistent (0 XOR 0 = 0), allowing the bitmap to be
initialized to BitCleanUnwritten and skipping the initial sync entirely.
This significantly reduces array initialization time on modern NVMe SSDs.

Yu Kuai (5):
  md/md-llbitmap: skip reading rdevs that are not in_sync
  md/md-llbitmap: raise barrier before state machine transition
  md: add fallback to correct bitmap_ops on version mismatch
  md/md-llbitmap: add CleanUnwritten state for RAID-5 proactive parity
    building
  md/md-llbitmap: optimize initial sync with write_zeroes_unmap support

 drivers/md/md-llbitmap.c | 213 +++++++++++++++++++++++++++++++++++----
 drivers/md/md.c          | 109 +++++++++++++++++++-
 2 files changed, 301 insertions(+), 21 deletions(-)

-- 
2.51.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-03-10  5:25 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-14  6:10 [PATCH 0/5] md/md-llbitmap: fixes and proactive parity building support Yu Kuai
2026-02-14  6:10 ` [PATCH 1/5] md/md-llbitmap: skip reading rdevs that are not in_sync Yu Kuai
2026-02-14  6:10 ` [PATCH 2/5] md/md-llbitmap: raise barrier before state machine transition Yu Kuai
2026-02-14  6:10 ` [PATCH 3/5] md: add fallback to correct bitmap_ops on version mismatch Yu Kuai
2026-02-17  8:54   ` Su Yue
2026-02-23  2:22     ` Yu Kuai
2026-02-24  1:52       ` Su Yue
2026-03-10  1:15         ` Xiao Ni
2026-03-10  5:19           ` Su Yue
2026-02-14  6:10 ` [PATCH 4/5] md/md-llbitmap: add CleanUnwritten state for RAID-5 proactive parity building Yu Kuai
2026-02-14  6:10 ` [PATCH 5/5] md/md-llbitmap: optimize initial sync with write_zeroes_unmap support Yu Kuai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox