]> Git Repo - J-linux.git/blobdiff - include/linux/t10-pi.h
Merge tag 'wireless-2022-04-13' of git://git.kernel.org/pub/scm/linux/kernel/git...
[J-linux.git] / include / linux / t10-pi.h
index c635c2e014e3d4e6ca81fde407531eb552cd094e..a4b1af581f69ec055fbc0828765fad10bfd62a8e 100644 (file)
@@ -53,4 +53,24 @@ extern const struct blk_integrity_profile t10_pi_type1_ip;
 extern const struct blk_integrity_profile t10_pi_type3_crc;
 extern const struct blk_integrity_profile t10_pi_type3_ip;
 
+struct crc64_pi_tuple {
+       __be64 guard_tag;
+       __be16 app_tag;
+       __u8   ref_tag[6];
+};
+
+static inline u64 ext_pi_ref_tag(struct request *rq)
+{
+       unsigned int shift = ilog2(queue_logical_block_size(rq->q));
+
+#ifdef CONFIG_BLK_DEV_INTEGRITY
+       if (rq->q->integrity.interval_exp)
+               shift = rq->q->integrity.interval_exp;
+#endif
+       return lower_48_bits(blk_rq_pos(rq) >> (shift - SECTOR_SHIFT));
+}
+
+extern const struct blk_integrity_profile ext_pi_type1_crc64;
+extern const struct blk_integrity_profile ext_pi_type3_crc64;
+
 #endif
This page took 0.03111 seconds and 4 git commands to generate.