Target/sbc: Set protection operation and relevant checks
SBC-3 mandates the protection checks that must be performed in the rdprotect/wrprotect field. Use them. According to backstore device pi_attributes and cdb rdprotect/wrprotect field. (Fix incorrect se_cmd->prot_type -> TARGET_PROT_NORMAL comparision in transport_generic_new_cmd - nab) (Fix missing break in sbc_set_prot_op_checks - DanC + Sagi) Signed-off-by: Sagi Grimberg <sagig@mellanox.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
committed by
Nicholas Bellinger
parent
acb2bde3e3
commit
19f9361af7
@@ -463,6 +463,12 @@ enum target_prot_type {
|
||||
TARGET_DIF_TYPE3_PROT,
|
||||
};
|
||||
|
||||
enum target_core_dif_check {
|
||||
TARGET_DIF_CHECK_GUARD = 0x1 << 0,
|
||||
TARGET_DIF_CHECK_APPTAG = 0x1 << 1,
|
||||
TARGET_DIF_CHECK_REFTAG = 0x1 << 2,
|
||||
};
|
||||
|
||||
struct se_dif_v1_tuple {
|
||||
__be16 guard_tag;
|
||||
__be16 app_tag;
|
||||
@@ -556,6 +562,7 @@ struct se_cmd {
|
||||
/* DIF related members */
|
||||
enum target_prot_op prot_op;
|
||||
enum target_prot_type prot_type;
|
||||
u8 prot_checks;
|
||||
u32 prot_length;
|
||||
u32 reftag_seed;
|
||||
struct scatterlist *t_prot_sg;
|
||||
|
||||
Reference in New Issue
Block a user