From: Caleb Sander Mateos Date: Fri, 13 Mar 2026 14:47:01 +0000 (-0700) Subject: ublk: report BLK_SPLIT_INTERVAL_CAPABLE X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5d540162059598c3f79e12f96064825cc91f0f9c;p=thirdparty%2Fkernel%2Flinux.git 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. Reviewed-by: Ming Lei Reviewed-by: Keith Busch Reviewed-by: Martin K. Petersen Signed-off-by: Caleb Sander Mateos Signed-off-by: Keith Busch Link: https://patch.msgid.link/20260313144701.1221652-3-kbusch@meta.com Signed-off-by: Jens Axboe --- 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;