#include <linux/t10-pi.h>
#include <linux/blk-integrity.h>
#include <linux/crc-t10dif.h>
#include <linux/crc64.h>
#include <linux/module.h>
#include <net/checksum.h>
#include <asm/unaligned.h>
#include "blk.h"
struct blk_integrity_iter { … };
static __be16 t10_pi_csum(__be16 csum, void *data, unsigned int len,
unsigned char csum_type)
{ … }
static void t10_pi_generate(struct blk_integrity_iter *iter,
struct blk_integrity *bi)
{ … }
static blk_status_t t10_pi_verify(struct blk_integrity_iter *iter,
struct blk_integrity *bi)
{ … }
static void t10_pi_type1_prepare(struct request *rq)
{ … }
static void t10_pi_type1_complete(struct request *rq, unsigned int nr_bytes)
{ … }
static __be64 ext_pi_crc64(u64 crc, void *data, unsigned int len)
{ … }
static void ext_pi_crc64_generate(struct blk_integrity_iter *iter,
struct blk_integrity *bi)
{ … }
static bool ext_pi_ref_escape(u8 *ref_tag)
{ … }
static blk_status_t ext_pi_crc64_verify(struct blk_integrity_iter *iter,
struct blk_integrity *bi)
{ … }
static void ext_pi_type1_prepare(struct request *rq)
{ … }
static void ext_pi_type1_complete(struct request *rq, unsigned int nr_bytes)
{ … }
void blk_integrity_generate(struct bio *bio)
{ … }
void blk_integrity_verify(struct bio *bio)
{ … }
void blk_integrity_prepare(struct request *rq)
{ … }
void blk_integrity_complete(struct request *rq, unsigned int nr_bytes)
{ … }
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;