|
|
Log in / Subscribe / Register

Introduce provisioning primitives

From:  Sarthak Kukreti <sarthakkukreti-AT-chromium.org>
To:  dm-devel-AT-redhat.com, linux-block-AT-vger.kernel.org, linux-ext4-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, linux-fsdevel-AT-vger.kernel.org
Subject:  [PATCH v8 0/5] Introduce provisioning primitives
Date:  Fri, 06 Oct 2023 18:28:12 -0700
Message-ID:  <20231007012817.3052558-1-sarthakkukreti@chromium.org>
Cc:  Jens Axboe <axboe-AT-kernel.dk>, Alasdair Kergon <agk-AT-redhat.com>, Mike Snitzer <snitzer-AT-kernel.org>, Christoph Hellwig <hch-AT-infradead.org>, Brian Foster <bfoster-AT-redhat.com>, Theodore Ts'o <tytso-AT-mit.edu>, Andreas Dilger <adilger.kernel-AT-dilger.ca>, Bart Van Assche <bvanassche-AT-google.com>, "Darrick J. Wong" <djwong-AT-kernel.org>, Dave Chinner <david-AT-fromorbit.com>, Sarthak Kukreti <sarthakkukreti-AT-chromium.org>
Archive-link:  Article

Hi,

This patch series is version 8 of the patch series to introduce
block-level provisioning mechanism (original [1]), which is useful for provisioning
space across thinly provisioned storage architectures (loop devices
backed by sparse files, dm-thin devices, virtio-blk). This series has
minimal changes over v7[2].

This patch series is rebased from the linux-dm/dm-6.5-provision-support [1] on to
(cac405a3bfa2 Merge tag 'for-6.6-rc3-tag'). In addition, there's an
additional patch to allow passing through an unshare intent via REQ_OP_PROVISION
(suggested by Darrick in [4]).

[1] Original: https://lore.kernel.org/lkml/20220915164826.1396245-1-sar...
[2] v7 (last series): https://lore.kernel.org/linux-fsdevel/20230518223326.1874...
[3] linux-dm/dm-6.5-provision-suppport tree:
https://git.kernel.org/pub/scm/linux/kernel/git/device-ma...
(with the last two WIP patches for dm-thinpool dropped as per discussion with
maintainers).
[4] https://lore.kernel.org/linux-fsdevel/20230522163710.GA11...

Changes from v7:
- Drop dm-thinpool (will be independently developed with snapshot
  support) and dm-snapshot (will not be supported) from the series.
- (By snitzer@kernel.org) Fixes for block device provision limits.
- (Suggested by djwong@kernel.org) Add mechanism to pass unshare intent
  via REQ_OP_PROVISION

Sarthak Kukreti (5):
  block: Don't invalidate pagecache for invalid falloc modes
  block: Introduce provisioning primitives
  loop: Add support for provision requests
  dm: Add block provisioning support
  block: Pass unshare intent via REQ_OP_PROVISION

 block/blk-core.c              |  5 +++
 block/blk-lib.c               | 55 ++++++++++++++++++++++++++++++++
 block/blk-merge.c             | 18 +++++++++++
 block/blk-settings.c          | 19 +++++++++++
 block/blk-sysfs.c             |  9 ++++++
 block/bounce.c                |  1 +
 block/fops.c                  | 33 ++++++++++++++++----
 drivers/block/loop.c          | 59 ++++++++++++++++++++++++++++++++---
 drivers/md/dm-crypt.c         |  4 ++-
 drivers/md/dm-linear.c        |  1 +
 drivers/md/dm-table.c         | 23 ++++++++++++++
 drivers/md/dm.c               |  7 +++++
 include/linux/bio.h           |  6 ++--
 include/linux/blk_types.h     |  8 ++++-
 include/linux/blkdev.h        | 17 ++++++++++
 include/linux/device-mapper.h | 17 ++++++++++
 16 files changed, 268 insertions(+), 14 deletions(-)

-- 
2.42.0.609.gbb76f46606-goog



Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds