Skip to content

md: fix raid5 write hole

Shaohua Li linux-raid 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest11 patches 1 replyIn review
  2. v19 patches 20 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/11MD: replace special disk roles with macrosdrivers/md/md.c include/uapi/linux/raid/md_p.h+11 -70 replies
2/11MD: add a new disk role to present write journal devicedrivers/md/md.c drivers/md/md.h include/uapi/linux/raid/md_p.h+30 -20 replies
3/11md: override md superblock recovery_offset for journal devicedrivers/md/md.c drivers/md/md.h include/uapi/linux/raid/md_p.h+17 -20 replies
4/11raid5: export some functionsdrivers/md/raid5.c drivers/md/raid5.h+54 -480 replies
5/11raid5: add a new state for stripe log handlingdrivers/md/raid5.c drivers/md/raid5.h+4 -00 replies
6/11raid5: add basic stripe logdrivers/md/Makefile drivers/md/raid5-cache.c drivers/md/raid5.c +2 more+675 -10 replies
7/11raid5: log reclaim supportdrivers/md/raid5-cache.c drivers/md/raid5.c drivers/md/raid5.h+264 -10 replies
8/11raid5: log recoverydrivers/md/raid5-cache.c+238 -30 replies
9/11raid5: disable batch with log enableddrivers/md/raid5.c+3 -00 replies
10/11raid5: don't allow resize/reshape with cache(log) supportdrivers/md/raid5.c+17 -00 replies
11/11raid5: enable log for raid array with cache diskdrivers/md/raid5.c include/uapi/linux/raid/md_p.h+11 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [patch v2 00/11]md: fix raid5 write hole

Hi Neil,

This is the updated patch for the raid5 write hole issue. I thought I addressed most of issues from you and Christoph. Please let me know if anything is missed. Something not done yet:

- Still use NOFAIL allocation. I don't think 2-element mempool is ok. An io_unit will have several bio (> 2), 2 element bioset isn't ok. We can
dispatch all bio of the io_unit if bio allocation fails, but this will increase complexity. I'd prefer using NOFAIL allocation now for simplicity and fix it later if necessary
- Add flag for reshape handling in disk format, but don't support it yet

Thanks,
Shaohua

Shaohua Li (9):
md: override md superblock recovery_offset for journal device
raid5: export some functions
raid5: add a new state for stripe log handling
raid5: add basic stripe log
raid5: log reclaim support
raid5: log recovery
raid5: disable batch with log enabled
raid5: don't allow resize/reshape with cache(log) support
raid5: enable log for raid array with cache disk

Song Liu (2):
MD: replace special disk roles with macros
MD: add a new disk role to present write journal device

 drivers/md/Makefile            |    2 +-
 drivers/md/md.c                |   44 +-
 drivers/md/md.h                |   13 +-
 drivers/md/raid5-cache.c       | 1094 ++++++++++++++++++++++++++++++++++++++++
 drivers/md/raid5.c             |  137 +++--
 drivers/md/raid5.h             |   20 +
 include/uapi/linux/raid/md_p.h |   70 ++-
 7 files changed, 1320 insertions(+), 60 deletions(-)
 create mode 100644 drivers/md/raid5-cache.c
Signature · 1 line
1.8.1