nvme: set pi_offset only when checksum type is not BLK_INTEGRITY_CSUM_NONE

protection information is treated as opaque when checksum type is
BLK_INTEGRITY_CSUM_NONE. In order to maintain the right metadata
semantics, set pi_offset only in cases where checksum type is not
BLK_INTEGRITY_CSUM_NONE.

Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
Link: https://lore.kernel.org/20250630090548.3317-4-anuj20.g@samsung.com
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
Anuj Gupta 2025-06-30 14:35:47 +05:30 committed by Christian Brauner
parent 76e45252a4
commit f3ee506591
No known key found for this signature in database
GPG Key ID: 91C61BC06578DCA2

View File

@ -1867,9 +1867,10 @@ static bool nvme_init_integrity(struct nvme_ns_head *head,
}
bi->metadata_size = head->ms;
if (bi->csum_type)
if (bi->csum_type) {
bi->pi_tuple_size = head->pi_size;
bi->pi_offset = info->pi_offset;
bi->pi_offset = info->pi_offset;
}
return true;
}