summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorKanchan Joshi <joshi.k@samsung.com>2024-02-01 18:31:25 +0530
committerJens Axboe <axboe@kernel.dk>2024-02-12 08:49:31 -0700
commit60d21aac52e26531affdadb7543fe5b93f58b450 (patch)
tree0048ce8335e980a0f9d899fe61cbbb90c5ec713f /include/linux
parent6b5c132a3f0d3b7c024ae98f0ace07c04d32cf73 (diff)
block: support PI at non-zero offset within metadata
Block layer integrity processing assumes that protection information (PI) is placed in the first bytes of each metadata block. Remove this limitation and include the metadata before the PI in the calculation of the guard tag. Signed-off-by: Kanchan Joshi <joshi.k@samsung.com> Signed-off-by: Chinmay Gameti <c.gameti@samsung.com> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Link: https://lore.kernel.org/r/20240201130126.211402-3-joshi.k@samsung.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/blk-integrity.h1
-rw-r--r--include/linux/blkdev.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/blk-integrity.h b/include/linux/blk-integrity.h
index 378b2459efe2..e253e7bd0d17 100644
--- a/include/linux/blk-integrity.h
+++ b/include/linux/blk-integrity.h
@@ -20,6 +20,7 @@ struct blk_integrity_iter {
unsigned int data_size;
unsigned short interval;
unsigned char tuple_size;
+ unsigned char pi_offset;
const char *disk_name;
};
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index fac580976e3a..0058783a4c43 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -108,6 +108,7 @@ struct blk_integrity {
const struct blk_integrity_profile *profile;
unsigned char flags;
unsigned char tuple_size;
+ unsigned char pi_offset;
unsigned char interval_exp;
unsigned char tag_size;
};