linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/5] RAID 0/1/10 atomic write support
@ 2024-11-01 14:46 John Garry
  2024-11-01 14:46 ` [PATCH v3 1/5] block: Add extra checks in blk_validate_atomic_write_limits() John Garry
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: John Garry @ 2024-11-01 14:46 UTC (permalink / raw)
  To: axboe, song, yukuai3, hch
  Cc: linux-block, linux-kernel, linux-raid, martin.petersen,
	John Garry

This series introduces atomic write support for software RAID 0/1/10.

The main changes are to ensure that we can calculate the stacked device
request_queue limits appropriately for atomic writes. Fundamentally, if
some bottom does not support atomic writes, then atomic writes are not
supported for the top device. Furthermore, the atomic writes limits are
the lowest common supported limits from all bottom devices.

Flag BLK_FEAT_ATOMIC_WRITES_STACKED is introduced to enable atomic writes
for stacked devices selectively. This ensures that we can analyze and test
atomic writes support per individual md/dm personality (prior to
enabling).

Based on bio_split() rework at
https://lore.kernel.org/linux-block/20241031095918.99964-1-john.g.garry@oracle.com/T/#m7bed4a956a439ac4a9fa72f0bc41d1b08ca047c6

Differences to v2:
- Refactor blk_stack_atomic_writes_limits() (Christoph)
- Relocate RAID 1/10 BB check (Kaui)
- Add RB tag from Christoph (Thanks!)
- Set REQ_ATOMIC for RAID 1/10

Differences to RFC:
- Add support for RAID 1/10
- Add sanity checks for atomic write limits
- Use BLK_FEAT_ATOMIC_WRITES_STACKED, rather than BLK_FEAT_ATOMIC_WRITES
- Drop patch issue of truncating atomic writes
 - will send separately

John Garry (5):
  block: Add extra checks in blk_validate_atomic_write_limits()
  block: Support atomic writes limits for stacked devices
  md/raid0: Atomic write support
  md/raid1: Atomic write support
  md/raid10: Atomic write support

 block/blk-settings.c   | 132 +++++++++++++++++++++++++++++++++++++++++
 drivers/md/raid0.c     |   1 +
 drivers/md/raid1.c     |  14 ++++-
 drivers/md/raid10.c    |  14 ++++-
 include/linux/blkdev.h |   4 ++
 5 files changed, 161 insertions(+), 4 deletions(-)

-- 
2.31.1


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

end of thread, other threads:[~2024-11-04 11:06 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-01 14:46 [PATCH v3 0/5] RAID 0/1/10 atomic write support John Garry
2024-11-01 14:46 ` [PATCH v3 1/5] block: Add extra checks in blk_validate_atomic_write_limits() John Garry
2024-11-01 14:46 ` [PATCH v3 2/5] block: Support atomic writes limits for stacked devices John Garry
2024-11-04  7:36   ` Christoph Hellwig
2024-11-01 14:46 ` [PATCH v3 3/5] md/raid0: Atomic write support John Garry
2024-11-04 11:06   ` Yu Kuai
2024-11-01 14:46 ` [PATCH v3 4/5] md/raid1: " John Garry
2024-11-04  1:11   ` kernel test robot
2024-11-01 14:46 ` [PATCH v3 5/5] md/raid10: " John Garry

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).