mbox series

[RFC,v2,0/8] device mapper atomic write support

Message ID 20250116170301.474130-1-john.g.garry@oracle.com
Headers show
Series device mapper atomic write support | expand

Message

John Garry Jan. 16, 2025, 5:02 p.m. UTC
This series introduces initial device mapper atomic write support.

Since we already support stacking atomic writes limits, it's quite
straightforward to support.

Personalities dm-linear, dm-stripe, and dm-raid1 are supported here, and
more personalities could be supported in future.

This is still an RFC as I would like to test further.

Based on 3d9a9e9a77c5 (block/for-6.14/block) block: limit disk max
sectors to (LLONG_MAX >> 9)

Changes to v1:
- Generic block layer atomic writes enable flag and dm-table rework
- Add dm-stripe and dm-raid1 support
- Add bio_trim() patch

John Garry (8):
  block: Add common atomic writes enable flag
  block: Don't trim an atomic write
  dm-table: atomic writes support
  dm: Ensure cloned bio is same length for atomic write
  dm-linear: Enable atomic writes
  dm-stripe: Enable atomic writes
  dm-io: Warn on creating multiple atomic write bios for a region
  dm-mirror: Support atomic writes

 block/bio.c                   |  4 ++++
 block/blk-settings.c          |  6 ++++--
 drivers/md/dm-io.c            |  1 +
 drivers/md/dm-linear.c        |  3 ++-
 drivers/md/dm-raid1.c         |  3 ++-
 drivers/md/dm-stripe.c        |  3 ++-
 drivers/md/dm-table.c         | 29 +++++++++++++++++++++++++++++
 drivers/md/dm.c               |  3 +++
 drivers/md/raid0.c            |  2 +-
 drivers/md/raid1.c            |  2 +-
 drivers/md/raid10.c           |  2 +-
 drivers/nvme/host/core.c      |  1 +
 drivers/scsi/sd.c             |  1 +
 include/linux/blkdev.h        |  4 ++--
 include/linux/device-mapper.h |  3 +++
 15 files changed, 57 insertions(+), 10 deletions(-)