From nobody Fri Apr 17 01:39:40 2026 Received: from mail-pl1-f226.google.com (mail-pl1-f226.google.com [209.85.214.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A085C3A6417 for ; Tue, 24 Feb 2026 15:57:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.226 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771948663; cv=none; b=lTbSQbh4ILOsZF8oWuVNSz3STJ7GvYqNWdrzzVhz8GdLuKnoyQswlOxKrfHg7UiSGfjMDK7n/zgDVD4MOySWOJX5s3O23ksoB/wU4tnA+m6UNnjvrHzqHKKSy22Ows22e6VwH782eEPsqRQzlHd79/OLN+X47zflbeyUproszpc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771948663; c=relaxed/simple; bh=kua0dMOa1KKrMDsLYutpadgHlL+5mZ2m7xXOjwrYqEI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=JRNV6v+5NvbbjI5zZ2c4nC/QITjNc+PUnwY1Oyb15F0mUZh33TlyEdGs7/wJ3nyrFqu17dB6pShQdVxDvDW0gGw7OxmAmw6HaZokkdmuWS/1eHqW1xyQobC0JZy6zjV92qmOAOeq72LwhBZFhKA9YEPbSOpnC7GhM8xSKevSJ4M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=purestorage.com; spf=fail smtp.mailfrom=purestorage.com; dkim=pass (2048-bit key) header.d=purestorage.com header.i=@purestorage.com header.b=dnH5ddUF; arc=none smtp.client-ip=209.85.214.226 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=purestorage.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=purestorage.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=purestorage.com header.i=@purestorage.com header.b="dnH5ddUF" Received: by mail-pl1-f226.google.com with SMTP id d9443c01a7336-2ab1c8fdc40so6137705ad.1 for ; Tue, 24 Feb 2026 07:57:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=purestorage.com; s=google2022; t=1771948661; x=1772553461; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Iy1fELu4btboyO+hpI1XroaaE7BCW4a9Mq60yzvaGxc=; b=dnH5ddUFrEby7A9rfSQYjW4NqHOThaU/vhJze/CeKieujyV/zwl90krgv1Mg3CTNHu bQqwEkv0svZ0xILkZFXinDXs+WKR3fZ8TsHbHuOhhasOKWQ2e4h+zfA/SIQoAK8OodBZ z1AllLtWd6BVCzjUpv1xP98yiKG19Xior25D864McHJmlfiCpdPXjMIzyFTbRvAFRV4Z Zn6g640VJtzYGvXt9fWv7TOObZfyZzXhZ9cm8FN8iO0CUnDd7widhcofYqL4K8EHSKWu wSyJwkZSQBptLaJ41qXkT7Lh5io1zd6Phhzd9f0zEKssilA4sLzwXQfyJZccE80Q5RTi mEdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771948661; x=1772553461; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Iy1fELu4btboyO+hpI1XroaaE7BCW4a9Mq60yzvaGxc=; b=ZoAovcUEugcMo53b1joCu742zWHNouEwQiuM6N2RbJR05iJV1GsmjCErhwVMcHdcu9 oFfD2NwhGObJTgsRFmLxRoL13EsmLyMvQwCOdONZEWgYdxpBxCz0jILKOWQuzdEbEDhz R/WaOEmhZLKnnA9mlfkgConQ8vONevwiE1NFQZ5DpJ3tI88BY8MtE6ZygqB6C0toW/ec ShZiZGZCuAmFkkPQ8Z6bRI2+Xsu6uhQO2em4P6EML8e/Q9qvtdGdo8yLWeaC7iLZtCh4 sLCpeImp3fFz5QJqk35nP2vPvahyZFkL1qZtbg1RrUdFH41a8ZUWiZlvqlzySWQeRGsh JwJQ== X-Forwarded-Encrypted: i=1; AJvYcCW+W2f9FS4tmulj5s6eOKguoSxhmcuF39+iBDVgAlgGkWRckNVuwKRt87TaEPnzkMCh5CA6vdIzQrPwIOM=@vger.kernel.org X-Gm-Message-State: AOJu0YyKv9gsLz3u5/Nxx3rjzbIepsmrxtLvEysikz9cVEvlrxpR0KEJ IvF5o1WIvS+MoAM2A6xZGRPmzwOmzayZXcJxok4UNNwi7x0lyYbyeA7xGx5kxqdOjX3l/K7jTw7 90j3wRXSlZvvuc6uDwRVLdxMef4UXNbrLJLTE X-Gm-Gg: ATEYQzwLd+jPrfdDCXMVCKzX3iokLrWQpFOYUMgN9FVn2zimO1dBLpFzVkAj1lJSiap OGcxERmNI/kFNRTCuOEV2xiZcT+644DEuG2WGw3qWxuYvxhyrjZj5zaY79AmNmHXclujnn8ckIo AgmbDlaBke/lvxvWeVUYQ7OujmIGBIWT6gdFhMnhNHSQHj8WiepgnRVtQWCl/qcjgL1XOiGq2OS x5FZiEZvSUzfwEs00jAmB4RQfx7kWvCeeGC4QZEbAyo7btYdxX1X6wh4oR2SGpLTMuC7KeabZn5 Q9vAg5/Q0cGs2AP8giDucqAWjkivZ1f65bEsAGTsICoyhb4kZ8RHNhfSQqULkllplu4kUcQM+Xv 8DaMylqJVDfcVNEq+geMxv/BYrR0ssSpjAVKFLe5ObWHjYoZPCxRTnw== X-Received: by 2002:a17:903:2f87:b0:2a0:992c:1ddd with SMTP id d9443c01a7336-2ad745498femr82078195ad.8.1771948660899; Tue, 24 Feb 2026 07:57:40 -0800 (PST) Received: from c7-smtp-2023.dev.purestorage.com ([208.88.159.129]) by smtp-relay.gmail.com with ESMTPS id d9443c01a7336-2ad74e18969sm11883255ad.19.2026.02.24.07.57.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Feb 2026 07:57:40 -0800 (PST) X-Relaying-Domain: purestorage.com Received: from dev-csander.dev.purestorage.com (dev-csander.dev.purestorage.com [10.112.29.101]) by c7-smtp-2023.dev.purestorage.com (Postfix) with ESMTP id B658934051A; Tue, 24 Feb 2026 08:57:39 -0700 (MST) Received: by dev-csander.dev.purestorage.com (Postfix, from userid 1557716354) id A5FECE401BD; Tue, 24 Feb 2026 08:57:39 -0700 (MST) From: Caleb Sander Mateos To: Ming Lei , Jens Axboe Cc: Keith Busch , Caleb Sander Mateos , linux-block@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 7.1] ublk: report BLK_SPLIT_INTERVAL_CAPABLE Date: Tue, 24 Feb 2026 08:57:22 -0700 Message-ID: <20260224155724.3142007-1-csander@purestorage.com> X-Mailer: git-send-email 2.45.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 @@ -806,11 +806,11 @@ static void ublk_dev_param_basic_apply(struct ublk_de= vice *ub) set_capacity(ub->ub_disk, p->dev_sectors); } =20 static int ublk_integrity_flags(u32 flags) { - int ret_flags =3D 0; + int ret_flags =3D BLK_SPLIT_INTERVAL_CAPABLE; =20 if (flags & LBMD_PI_CAP_INTEGRITY) { flags &=3D ~LBMD_PI_CAP_INTEGRITY; ret_flags |=3D BLK_INTEGRITY_DEVICE_CAPABLE; } --=20 2.45.2