]> git.ipfire.org Git - people/arne_f/kernel.git/commitdiff
target/tcm_fc: use CPU affinity for responses
authorHannes Reinecke <hare@suse.de>
Mon, 22 Aug 2016 08:54:11 +0000 (10:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Oct 2016 07:45:31 +0000 (03:45 -0400)
commit 1ba0158fa66b5b2c597a748f87be1650c9960ccc upstream.

The libfc stack assigns exchange IDs based on the CPU the request
was received on, so we need to send the responses via the same CPU.
Otherwise the send logic gets confuses and responses will be delayed,
causing exchange timeouts on the initiator side.

Signed-off-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/target/tcm_fc/tfc_cmd.c

index 216e18cc9133d6709b25168610e98552b96d2647..9a874a89941d2ce7935e3a89221a93950fc0527d 100644 (file)
@@ -572,7 +572,7 @@ static void ft_send_work(struct work_struct *work)
        if (target_submit_cmd(&cmd->se_cmd, cmd->sess->se_sess, fcp->fc_cdb,
                              &cmd->ft_sense_buffer[0], scsilun_to_int(&fcp->fc_lun),
                              ntohl(fcp->fc_dl), task_attr, data_dir,
-                             TARGET_SCF_ACK_KREF))
+                             TARGET_SCF_ACK_KREF | TARGET_SCF_USE_CPUID))
                goto err;
 
        pr_debug("r_ctl %x alloc target_submit_cmd\n", fh->fh_r_ctl);