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

John Garry posted 8 patches 11 months ago
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(-)
[PATCH RFC v2 0/8] device mapper atomic write support
Posted by John Garry 11 months ago
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(-)

-- 
2.31.1
Re: [PATCH RFC v2 0/8] device mapper atomic write support
Posted by Mike Snitzer 11 months ago
On Thu, Jan 16, 2025 at 05:02:53PM +0000, John Garry wrote:
> 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

This all looks good.

Mikulas, we need Jens to pick up patches 1 and 2.  I wouldn't be
opposed to him taking the entire set but I did notice the DM core
(ioctl) version and the 3 DM targets that have had atomic support
added need their version numbers bumped.  Given that, likely best for
you (Mikulas) to pick up patches 3-8 after rebasing on Jens' latest
for-6.14/block branch (once Jens picks up patches 1 and 2).

Jens, you cool with picking up patches 1+2 for 6.14?  Or too late and
we circle back to this for 6.15?

Either way, for the series:

Reviewed-by: Mike Snitzer <snitzer@kernel.org>
Re: [PATCH RFC v2 0/8] device mapper atomic write support
Posted by Mikulas Patocka 11 months ago

On Fri, 17 Jan 2025, Mike Snitzer wrote:

> On Thu, Jan 16, 2025 at 05:02:53PM +0000, John Garry wrote:
> > 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
> 
> This all looks good.
> 
> Mikulas, we need Jens to pick up patches 1 and 2.  I wouldn't be
> opposed to him taking the entire set but I did notice the DM core
> (ioctl) version and the 3 DM targets that have had atomic support
> added need their version numbers bumped.  Given that, likely best for
> you (Mikulas) to pick up patches 3-8 after rebasing on Jens' latest
> for-6.14/block branch (once Jens picks up patches 1 and 2).
> 
> Jens, you cool with picking up patches 1+2 for 6.14?  Or too late and
> we circle back to this for 6.15?
> 
> Either way, for the series:
> 
> Reviewed-by: Mike Snitzer <snitzer@kernel.org>

Hi

I rebased on Jens' block tree, applied the patches 3-8, increased 
DM_VERSION_MINOR, DM_VERSION_EXTRA, increased version numbers in 
dm-linear, dm-stripe, dm-raid1 and uploaded it to git.kernel.org.

You can check it if it's correct.

Mikulas
Re: [PATCH RFC v2 0/8] device mapper atomic write support
Posted by Mike Snitzer 11 months ago
On Fri, Jan 17, 2025 at 10:27:22PM +0100, Mikulas Patocka wrote:
> 
> 
> On Fri, 17 Jan 2025, Mike Snitzer wrote:
> 
> > On Thu, Jan 16, 2025 at 05:02:53PM +0000, John Garry wrote:
> > > 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
> > 
> > This all looks good.
> > 
> > Mikulas, we need Jens to pick up patches 1 and 2.  I wouldn't be
> > opposed to him taking the entire set but I did notice the DM core
> > (ioctl) version and the 3 DM targets that have had atomic support
> > added need their version numbers bumped.  Given that, likely best for
> > you (Mikulas) to pick up patches 3-8 after rebasing on Jens' latest
> > for-6.14/block branch (once Jens picks up patches 1 and 2).
> > 
> > Jens, you cool with picking up patches 1+2 for 6.14?  Or too late and
> > we circle back to this for 6.15?
> > 
> > Either way, for the series:
> > 
> > Reviewed-by: Mike Snitzer <snitzer@kernel.org>
> 
> Hi
> 
> I rebased on Jens' block tree, applied the patches 3-8, increased 
> DM_VERSION_MINOR, DM_VERSION_EXTRA, increased version numbers in 
> dm-linear, dm-stripe, dm-raid1 and uploaded it to git.kernel.org.
> 
> You can check it if it's correct.

Looks good, thanks!

Mike
Re: [PATCH RFC v2 0/8] device mapper atomic write support
Posted by Jens Axboe 11 months ago
On 1/17/25 1:09 PM, Mike Snitzer wrote:
> On Thu, Jan 16, 2025 at 05:02:53PM +0000, John Garry wrote:
>> 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
> 
> This all looks good.
> 
> Mikulas, we need Jens to pick up patches 1 and 2.  I wouldn't be
> opposed to him taking the entire set but I did notice the DM core
> (ioctl) version and the 3 DM targets that have had atomic support
> added need their version numbers bumped.  Given that, likely best for
> you (Mikulas) to pick up patches 3-8 after rebasing on Jens' latest
> for-6.14/block branch (once Jens picks up patches 1 and 2).
> 
> Jens, you cool with picking up patches 1+2 for 6.14?  Or too late and
> we circle back to this for 6.15?

I can do 1+2 for 6.14, they are pretty trivial.

-- 
Jens Axboe
Re: (subset) [PATCH RFC v2 0/8] device mapper atomic write support
Posted by Jens Axboe 11 months ago
On Thu, 16 Jan 2025 17:02:53 +0000, John Garry wrote:
> 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.
> 
> [...]

Applied, thanks!

[1/8] block: Add common atomic writes enable flag
      commit: 6a7e17b22062c84a111d7073c67cc677c4190f32
[2/8] block: Don't trim an atomic write
      commit: 554b22864cc79e28cd65e3a6e1d0d1dfa8581c68

Best regards,
-- 
Jens Axboe