mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-17 10:41:26 +00:00
isert-scst: Call isert_portal_list_add() after portal initialization
This patch fixes the following hang:
SysRq : Show Blocked State
task PC stack pid father
iscsi-scstd D 0000000000000007 0 7981 1 0x00000084
ffff88007ad87ae8 0000000000000046 0000000000000000 0000000000000010
0000000000000246 ffff88007ad87a48 0000002483e71851 0000000000000246
00000000fffdd081 0000000000000c83 ffff880078e8b068 ffff88007ad87fd8
Call Trace:
[<ffffffffa050667d>] isert_wait_for_portal_release+0x6d/0xc0 [isert_scst]
[<ffffffffa04fd5cd>] isert_close_all_portals+0x3d/0x50 [isert_scst]
[<ffffffffa04deeca>] target_del_all+0x9a/0x2b0 [iscsi_scst]
[<ffffffffa04d7688>] iscsi_release+0x48/0xe0 [iscsi_scst]
[<ffffffff811a46c8>] __fput+0xf8/0x220
[<ffffffff811a4815>] fput+0x25/0x30
[<ffffffff8119f8d0>] filp_close+0x60/0x90
[<ffffffff81084ccf>] put_files_struct+0x7f/0xf0
[<ffffffff81084d93>] exit_files+0x53/0x70
[<ffffffff81086ecd>] do_exit+0x18d/0x860
[<ffffffff810875f8>] do_group_exit+0x58/0xd0
[<ffffffff8109d576>] get_signal_to_deliver+0x1f6/0x470
[<ffffffff8100a375>] do_signal+0x75/0x8d0
[<ffffffff8100ac60>] do_notify_resume+0x90/0xc0
[<ffffffff8156672f>] int_signal+0x12/0x17
Fixes: 5d808c54 ("isert-scst: Introduce the function isert_setup_id()")
Signed-off-by: Chesnokov Gleb <Chesnokov.G@raidix.com>
[ bvanassche: added call stack ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9487 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -1892,8 +1892,6 @@ struct isert_portal *isert_portal_create(struct sockaddr *sa, size_t addr_len)
|
||||
INIT_WORK(&portal->work, isert_portal_reinit_id_work);
|
||||
|
||||
INIT_LIST_HEAD(&portal->conn_list);
|
||||
isert_portal_list_add(portal);
|
||||
|
||||
memcpy(&portal->addr, sa, addr_len);
|
||||
|
||||
cm_id = isert_setup_id(portal);
|
||||
@@ -1904,6 +1902,7 @@ struct isert_portal *isert_portal_create(struct sockaddr *sa, size_t addr_len)
|
||||
}
|
||||
|
||||
portal->cm_id = cm_id;
|
||||
isert_portal_list_add(portal);
|
||||
|
||||
PRINT_INFO("Created iser portal cm_id:%p", cm_id);
|
||||
out:
|
||||
|
||||
Reference in New Issue
Block a user