block: Consolidate static integrity profile properties
We previously made a complete copy of a device's data integrity profile even though several of the fields inside the blk_integrity struct are pointers to fixed template entries in t10-pi.c. Split the static and per-device portions so that we can reference the template directly. Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Reported-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Sagi Grimberg <sagig@mellanox.com> Cc: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:

committed by
Jens Axboe

parent
aff34e192e
commit
0f8087ecde
@@ -1462,16 +1462,18 @@ struct blk_integrity_iter {
|
||||
|
||||
typedef int (integrity_processing_fn) (struct blk_integrity_iter *);
|
||||
|
||||
struct blk_integrity_profile {
|
||||
integrity_processing_fn *generate_fn;
|
||||
integrity_processing_fn *verify_fn;
|
||||
const char *name;
|
||||
};
|
||||
|
||||
struct blk_integrity {
|
||||
integrity_processing_fn *generate_fn;
|
||||
integrity_processing_fn *verify_fn;
|
||||
|
||||
unsigned short flags;
|
||||
unsigned short tuple_size;
|
||||
unsigned short interval;
|
||||
unsigned short tag_size;
|
||||
|
||||
const char *name;
|
||||
struct blk_integrity_profile *profile;
|
||||
unsigned short flags;
|
||||
unsigned short tuple_size;
|
||||
unsigned short interval;
|
||||
unsigned short tag_size;
|
||||
};
|
||||
|
||||
extern bool blk_integrity_is_initialized(struct gendisk *);
|
||||
|
Reference in New Issue
Block a user