summaryrefslogtreecommitdiff
path: root/fs/ocfs2/slot_map.c
diff options
context:
space:
mode:
authorXue jiufei <xuejiufei@huawei.com>2016-01-14 15:17:29 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2016-01-14 16:00:49 -0800
commitc372f2193a2e73d5936bf37259ae63ca388b4cbc (patch)
tree58757845faeeadae895e1aa782c360d7a32f8e0f /fs/ocfs2/slot_map.c
parent72865d92300a6ad20a8851887aeac4f41fd2c579 (diff)
downloadlwn-c372f2193a2e73d5936bf37259ae63ca388b4cbc.tar.gz
lwn-c372f2193a2e73d5936bf37259ae63ca388b4cbc.zip
ocfs2/dlm: return appropriate value when dlm_grab() returns NULL
dlm_grab() may return NULL when the node is doing unmount. When doing code review, we found that some dlm handlers may return error to caller when dlm_grab() returns NULL and make caller BUG or other problems. Here is an example: Node 1 Node 2 receives migration message from node 3, and send migrate request to others start unmounting receives migrate request from node 1 and call dlm_migrate_request_handler() unmount thread unregisters domain handlers and removes dlm_context from dlm_domains dlm_migrate_request_handlers() returns -EINVAL to node 1 Exit migration neither clearing the migration state nor sending assert master message to node 3 which cause node 3 hung. Signed-off-by: Jiufei Xue <xuejiufei@huawei.com> Reviewed-by: Joseph Qi <joseph.qi@huawei.com> Reviewed-by: Yiwen Jiang <jiangyiwen@huawei.com> Cc: Mark Fasheh <mfasheh@suse.de> Cc: Joel Becker <jlbec@evilplan.org> Cc: Junxiao Bi <junxiao.bi@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/ocfs2/slot_map.c')
0 files changed, 0 insertions, 0 deletions