| 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