Hi Sagi & Co, On Wed, 2014-11-19 at 19:18 +0200, Sagi Grimberg wrote: > Hey Nic & Co, > > This series mainly consists of error flow fixes: > Patches 1-2: Some logging refactoring. It is much easier to > instruct a user to increase the log level in this case. > Patches 3-10: Some error flow fixes for live target stack shutdown > and cable pull with stress IO scenarios. > Patches 11-15: Remove t10_pi attribute and fix a crash in due to a bad > dereference. > Patches 16-19: Fixes in the area of bond failover scenarios > Patch 20: Workaround for live target stack unload in the presence > of multiple (50+) of active sessions. > Patch 21: Get rid of redundant wait for logout completion. > > While this set makes things better, there is still some work > left to do especially in the area of multi-session error flows. > > The set applies cleanly on master branch (with or without the isert > patch from Chris Moore). > > Changes from v0: > - Fix CHAP and mutual CHAP login breakage introduced in patch #9 > kudos to Slava for staying alert > - Fix mthca/mlx4 HCAs breakage introduced in patch #13 (non supporting PI) > kudos to Adam for finding this quickly > - Removed patch "Remove t10_pi attribute altogether". > Instead, included patch "Expose supported protection ops according to t10_pi" > if t10_pi is not set we fall to SW mode. > - Added patch #21 to get rid of redundant wait for logout completion > > Sagi Grimberg (21): > iser-target: Use debug_level parameter to control logging level > iser-target: Adjust log levels and prettify some prints > 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 state ISER_CONN_FULL_FEATURE > iser-target: Parallelize CM connection establishment > iser-target: Use kref_get_unless_zero in connected_handler > iser-target: Move pi context allocation to a function > iser-target: Move protection information 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: Acquire conn_mutex when changing connection state > 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: Work-around live target stack shutdown resource cleanup > iser-target: Get rid of redundant wait for logout_comp > > drivers/infiniband/ulp/isert/ib_isert.c | 1030 +++++++++++++++++------------ > drivers/infiniband/ulp/isert/ib_isert.h | 42 ++- > drivers/target/iscsi/iscsi_target_login.c | 10 +- > 3 files changed, 670 insertions(+), 412 deletions(-) > Thanks for this detailed series of active I/O shutdown fixes, and apologies for the delayed response to -v0 posting. So which patches would you consider as >= v3.14.y + v3.10.y material..? My only immediate concern is that a fair amount of these patches will need to be CC'ed for stable, so a re-spin without patch #1 + #2 would make life easier for myself and stable maintainers when applying these fixes to future stable versions. Would you mind posting a -v2..? To the logging changes themselves, I'd prefer sticking with CONFIG_DYNAMIC_DEBUG to match iscsi_target_mod + friends instead of a new module parameter unless there is something you need for debugging these tough shutdown cases that pr_debug can't otherwise do..? Thank you, --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