Target/iser: Centralize ib_sig_domain setting
authorSagi Grimberg <sagig@mellanox.com>
Wed, 13 Aug 2014 16:54:34 +0000 (19:54 +0300)
committerRoland Dreier <roland@purestorage.com>
Thu, 9 Oct 2014 07:10:53 +0000 (00:10 -0700)
Later there will be more parameters to set, so we want to do it in a
centralized place.

This patch does not change any functionality.

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/ulp/isert/ib_isert.c

index da8ff124762a3362eab5f26c1cd52f4bcfdac099..73092756460b3424531354a83cabbda02a6ff09a 100644 (file)
@@ -2626,41 +2626,40 @@ se2ib_prot_type(enum target_prot_type prot_type)
        }
 }
 
+static inline void
+isert_set_dif_domain(struct se_cmd *se_cmd, struct ib_sig_attrs *sig_attrs,
+                    struct ib_sig_domain *domain)
+{
+       enum ib_t10_dif_type ib_prot_type = se2ib_prot_type(se_cmd->prot_type);
+
+       domain->sig.dif.type = ib_prot_type;
+       domain->sig.dif.bg_type = IB_T10DIF_CRC;
+       domain->sig.dif.pi_interval = se_cmd->se_dev->dev_attrib.block_size;
+       domain->sig.dif.ref_tag = se_cmd->reftag_seed;
+};
+
 static int
 isert_set_sig_attrs(struct se_cmd *se_cmd, struct ib_sig_attrs *sig_attrs)
 {
-       enum ib_t10_dif_type ib_prot_type = se2ib_prot_type(se_cmd->prot_type);
 
        sig_attrs->mem.sig_type = IB_SIG_TYPE_T10_DIF;
        sig_attrs->wire.sig_type = IB_SIG_TYPE_T10_DIF;
-       sig_attrs->mem.sig.dif.pi_interval =
-                               se_cmd->se_dev->dev_attrib.block_size;
-       sig_attrs->wire.sig.dif.pi_interval =
-                               se_cmd->se_dev->dev_attrib.block_size;
 
        switch (se_cmd->prot_op) {
        case TARGET_PROT_DIN_INSERT:
        case TARGET_PROT_DOUT_STRIP:
                sig_attrs->mem.sig.dif.type = IB_T10DIF_NONE;
-               sig_attrs->wire.sig.dif.type = ib_prot_type;
-               sig_attrs->wire.sig.dif.bg_type = IB_T10DIF_CRC;
-               sig_attrs->wire.sig.dif.ref_tag = se_cmd->reftag_seed;
+               isert_set_dif_domain(se_cmd, sig_attrs, &sig_attrs->wire);
                break;
        case TARGET_PROT_DOUT_INSERT:
        case TARGET_PROT_DIN_STRIP:
-               sig_attrs->mem.sig.dif.type = ib_prot_type;
-               sig_attrs->mem.sig.dif.bg_type = IB_T10DIF_CRC;
-               sig_attrs->mem.sig.dif.ref_tag = se_cmd->reftag_seed;
                sig_attrs->wire.sig.dif.type = IB_T10DIF_NONE;
+               isert_set_dif_domain(se_cmd, sig_attrs, &sig_attrs->mem);
                break;
        case TARGET_PROT_DIN_PASS:
        case TARGET_PROT_DOUT_PASS:
-               sig_attrs->mem.sig.dif.type = ib_prot_type;
-               sig_attrs->mem.sig.dif.bg_type = IB_T10DIF_CRC;
-               sig_attrs->mem.sig.dif.ref_tag = se_cmd->reftag_seed;
-               sig_attrs->wire.sig.dif.type = ib_prot_type;
-               sig_attrs->wire.sig.dif.bg_type = IB_T10DIF_CRC;
-               sig_attrs->wire.sig.dif.ref_tag = se_cmd->reftag_seed;
+               isert_set_dif_domain(se_cmd, sig_attrs, &sig_attrs->wire);
+               isert_set_dif_domain(se_cmd, sig_attrs, &sig_attrs->mem);
                break;
        default:
                pr_err("Unsupported PI operation %d\n", se_cmd->prot_op);
This page took 0.02787 seconds and 5 git commands to generate.