Commit 61ca3b89 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

block: handle pi_tuple_size in queue_limits_stack_integrity



queue_limits_stack_integrity needs to handle the new pi_tuple_size field,
otherwise stacking PI-capable devices will always fail.

Fixes: 76e45252 ("block: introduce pi_tuple_size field in blk_integrity")
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarAnuj Gupta <anuj20.g@samsung.com>
Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20250818045456.1482889-2-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 0227af35
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -972,6 +972,8 @@ bool queue_limits_stack_integrity(struct queue_limits *t,
			goto incompatible;
		if (ti->csum_type != bi->csum_type)
			goto incompatible;
		if (ti->pi_tuple_size != bi->pi_tuple_size)
			goto incompatible;
		if ((ti->flags & BLK_INTEGRITY_REF_TAG) !=
		    (bi->flags & BLK_INTEGRITY_REF_TAG))
			goto incompatible;
@@ -980,6 +982,7 @@ bool queue_limits_stack_integrity(struct queue_limits *t,
		ti->flags |= (bi->flags & BLK_INTEGRITY_DEVICE_CAPABLE) |
			     (bi->flags & BLK_INTEGRITY_REF_TAG);
		ti->csum_type = bi->csum_type;
		ti->pi_tuple_size = bi->pi_tuple_size;
		ti->metadata_size = bi->metadata_size;
		ti->pi_offset = bi->pi_offset;
		ti->interval_exp = bi->interval_exp;