[PATCH 0/2] iscsi/iser-target: Fix
From: Nicholas A. Bellinger
Date: Tue Nov 12 2013 - 21:30:40 EST
From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Hi folks,
Here are the two patches to address the regression bug that Moussa
has recently been hitting with ib_isert ports + mtip32xx backends.
In the end, this bug was due to an incorrect usage of mutex_trylock(),
that was originally introduced to avoid an ib_isert specific nested
deadlock from an exception path, that inadvertently allowed normal
per RX/TX process context contention to increment sess->max_cmd_sn +
post a response + receive a new command in RX context with a CmdSN
larger than the last MaxCmdSN sychronized across RX/TX contexts.
This patch simply avoids the ib_isert callback in lio_queue_status()
for the special iscsi_execute_cmd() exception cases to avoid the
dead-lock, which allows the problematic mutex_trylock() usage in
iscsit_increment_maxcmdsn() to go away entirely.
I'll be including both of these with a CC' to stable for v3.10+
Special thanks to Moussa for helping track this bug down.
--nab
Nicholas Bellinger (2):
iscsi-target: Fix mutex_trylock usage in iscsit_increment_maxcmdsn
ib_isert: Avoid duplicate iscsit_increment_maxcmdsn call
drivers/infiniband/ulp/isert/ib_isert.c | 6 +-----
drivers/target/iscsi/iscsi_target_configfs.c | 5 +++++
drivers/target/iscsi/iscsi_target_device.c | 6 +-----
3 files changed, 7 insertions(+), 10 deletions(-)
--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/