On Tue, 2014-12-02 at 16:57 +0200, Sagi Grimberg wrote: > Hey Nic & Co, > > Addressed comments from Or Gerlitz. > Thanks for the updated v3 rev. Applied to target-pending/for-next. > This series mainly consists of: > > Patches 1-14: Some error flow fixes for live target stack shutdown > and cable pull with stress IO scenarios, as well as some > fixes in the area of bond failover scenarios. > (stable 3.10+ material) > > Patches 15-19: expose t10_pi attribute correctly and fix a crash > due to a bad dereference. > (stable 3.15+ material) > Btw I've left stable tags off for the moment, and will be looking to further squash Patches 1-14 into a smaller subset ahead of requesting them as stable candidates. > Patch 20: Workaround for live target stack unload in the presence > of multiple (60+) of active sessions. > > Patches 21-29: Some completion processing modifications done for > simplification and enhancements. > > Patches 30-31: Some more fixes needed in the live shutdown case. > > Patches 32-33: Some logging refactoring. It is much easier to > instruct a user to increase the log level in this case. > > Patch 34: Nit - remove code duplication. > > While this set makes things better, there is still some work > left to do especially in the area of multi-session error flows. > > Changes from v2: > - Addressed multiple code review comments from Or. > - Addressed smatch warning from Dan Carpenter in patch 13. > - Squashed patch to postpone QP destruction to the patch before since > it fixes a BUG resulting from it. > - added some missing log changes. > There is one extra compile warning fix reported earlier for v2 by Fengguang: diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c index cff56f6..3dd61d5 100644 --- a/drivers/infiniband/ulp/isert/ib_isert.c +++ b/drivers/infiniband/ulp/isert/ib_isert.c @@ -1976,8 +1976,7 @@ isert_cq_comp_err(struct isert_conn *isert_conn, struct ib_wc *wc) isert_info("conn %p completing conn_wait_comp_err\n", isert_conn); complete(&isert_conn->conn_wait_comp_err); - } else - if (is_isert_tx_desc(isert_conn, (void *)wc->wr_id)) { + } else if (is_isert_tx_desc(isert_conn, (void *)(uintptr_t)wc->wr_id)) { struct ib_device *ib_dev = isert_conn->conn_cm_id->device; struct isert_cmd *isert_cmd; struct iser_tx_desc *desc; > Sagi Grimberg (34): > iscsi-target: Add call to wait_conn in establishment error flow > iser-target: Destroy the connection when getting a connect error > event > iser-target: Initiate connection termination only once > iser-target: Don't deffer disconnected handler to a work > iser-target: Reject connect request in failure path > iser-target: Introduce ISER_CONN_FULL_FEATURE state > iser-target: Parallelize CM connection establishment > iser-target: Use kref_get_unless_zero in connected_handler > iser-target: Acquire conn_mutex when changing connection state > iser-target: Don't override cm_id context > iser-target: Move cma_id setup to a function > iser-target: Handle ADDR_CHANGE event for listener cm_id > iser-target: Deffer the last part of wait_conn to a work > iser-target: Decrement completion context active_qps in error flow > iser-target: Move PI context allocation to a function > iser-target: Move PI handling to a routine > iser-target: Allocate PI contexts dynamically > iser-target: Fix NULL dereference in SW mode DIF > iscsi,iser-target: Expose supported protection ops according to > t10_pi > iser-target: Work-around live target stack shutdown resource cleanup > iser-target: Remove interrupt coalescing > iser-target: Unite error completion handler for RX and TX > iser-target: Cast wr_id with uintptr_t instead of unsinged long > iser-target: Centralize completion elements to a context > iser-target: Use single CQ for TX and RX > iser-target: Remove redundant call to isert_conn_terminate > iser-target: Remove an atomic operation from the IO path > iser-target: Introduce isert_poll_budget > iser-target: Reduce CQ lock contention by batch polling > iser-target: Don't wait for session commands from completion context > iser-target: Fix logout sequence > iser-target: Adjust log levels and prettify some prints > iser-target: Remove code duplication > iscsi-target: Don't clear transport private cmd context > > drivers/infiniband/ulp/isert/ib_isert.c | 1612 +++++++++++++++-------------- > drivers/infiniband/ulp/isert/ib_isert.h | 80 ++- > drivers/target/iscsi/iscsi_target_login.c | 10 +- > drivers/target/iscsi/iscsi_target_util.c | 2 +- > 4 files changed, 905 insertions(+), 799 deletions(-) > Thanks Sagi and Or ! --nab -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html