[PATCH v6 0/5] Introduce block provisioning primitives

Sarthak Kukreti
2023-05-06T06:29:30Z

Hi,

This patch series covers iteration 6 of adding support for block
provisioning requests.

Changes from v5:
- Remove explicit supports_provision from dm devices.
- Move provision sectors io hint to pool_io_hint. Other devices
will derive the provisioning limits from the stack.
- Remove artifact from v4 to omit cell_defer_no_holder for
REQ_OP_PROVISION.
- Fix blkdev_fallocate() called with invalid fallocate
modes to propagate errors correctly.

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

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

--
2.40.1.521.gf1e218fcd8-goog