From 57d7bd4f36e92dcef8b11b453bc9f448d34e3fe8 Mon Sep 17 00:00:00 2001 From: Caleb Sander Mateos Date: Tue, 24 Feb 2026 08:57:22 -0700 Subject: [PATCH] ublk: report BLK_SPLIT_INTERVAL_CAPABLE The ublk driver doesn't access request integrity buffers directly, it only copies them to/from the ublk server in ublk_copy_user_integrity(). ublk_copy_user_integrity() uses bio_for_each_integrity_vec() to walk all the integrity segments. ublk devices are therefore capable of handling requests with integrity intervals split across segments. Set BLK_SPLIT_INTERVAL_CAPABLE in the struct blk_integrity flags for ublk devices to opt out of the integrity-interval dma_alignment limit. Signed-off-by: Caleb Sander Mateos Reviewed-by: Keith Busch Reviewed-by: Martin K. Petersen Reviewed-by: Ming Lei --- drivers/block/ublk_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c index 004f367243b6..34ed4f6a02ef 100644 --- a/drivers/block/ublk_drv.c +++ b/drivers/block/ublk_drv.c @@ -808,7 +808,7 @@ static void ublk_dev_param_basic_apply(struct ublk_device *ub) static int ublk_integrity_flags(u32 flags) { - int ret_flags = 0; + int ret_flags = BLK_SPLIT_INTERVAL_CAPABLE; if (flags & LBMD_PI_CAP_INTEGRITY) { flags &= ~LBMD_PI_CAP_INTEGRITY;