Motr
M0
|
#include <di.h>
Data Fields | |
const struct m0_di_type * | do_type |
uint64_t(* | do_mask )(const struct m0_file *file) |
uint64_t(* | do_in_shift )(const struct m0_file *file) |
uint64_t(* | do_out_shift )(const struct m0_file *file) |
void(* | do_sum )(const struct m0_file *file, const struct m0_indexvec *io_info, const struct m0_bufvec *in, struct m0_bufvec *out) |
bool(* | do_check )(const struct m0_file *file, const struct m0_indexvec *io_info, const struct m0_bufvec *in, const struct m0_bufvec *out) |
Returns the mask of block attributes (stob/battr.h), used by this di type.
void(* do_sum) (const struct m0_file *file, const struct m0_indexvec *io_info, const struct m0_bufvec *in, struct m0_bufvec *out) |
Calculate di data for the input bufvec (which is not necessarily a multiple of input block size) and place the result in the appropriately sized output bufvec.
Some parts of the output bufvec can be already filled by the caller, they should not be overwritten. For example, the application already calculated the t10-dif checksum, Motr only computes Reference and Application Tags.
io_info | contains offsets and sizes of data, used to compute tag values. |
const struct m0_di_type* do_type |