mbox series

[RFC,0/4] RAID0 atomic write support

Message ID 20240903150748.2179966-1-john.g.garry@oracle.com
Headers show
Series RAID0 atomic write support | expand

Message

John Garry Sept. 3, 2024, 3:07 p.m. UTC
This series introduces atomic write support for software RAID0.

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 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.

I am sending as an RFC as I need to test more and I'd like some initial
feedback, if any. Furthermore, RAID1 support is still be analyzed, so I
am 100% confident that the solution presented here is final.

The first block patch can be considered as a fix.

Based on v6.11-rc6

John Garry (4):
  block: Make bdev_can_atomic_write() robust against mis-aligned bdev
    size
  block: Add BLK_FEAT_ATOMIC_WRITES flag
  block: Support atomic writes limits for stacked devices
  md/raid0: Atomic write support

 block/blk-settings.c     | 22 +++++++++++++++++++++-
 drivers/md/raid0.c       |  8 +++++++-
 drivers/nvme/host/core.c |  3 +++
 drivers/scsi/sd.c        | 13 ++++++++++---
 include/linux/blkdev.h   |  6 ++++++
 5 files changed, 47 insertions(+), 5 deletions(-)