summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnuj Gupta <anuj20.g@samsung.com>2025-06-30 14:35:47 +0530
committerChristian Brauner <brauner@kernel.org>2025-07-01 14:00:15 +0200
commitf3ee50659148e4c1b7d1e58cfec897b14d36a00d (patch)
tree5d8a30d47558fe4ddddd32db3982359566874d5c
parent76e45252a4cefa205439eb6610a244771e7d88da (diff)
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>
-rw-r--r--drivers/nvme/host/core.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index fe72accab516..806b6e73276d 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -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;
}