From: Patrick Caulfield <[email protected]> This patch fixes the slight mess made in lowcomms closing by previous patches and fixes all sorts of DLM hangs. Signed-Off-By: Patrick Caulfield <[email protected]> Signed-off-by: Steven Whitehouse <[email protected]> diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c index 9e9d2e8..62a8a6c 100644 --- a/fs/dlm/lowcomms.c +++ b/fs/dlm/lowcomms.c @@ -334,18 +334,8 @@ static void close_connection(struct connection *con, bool and_other) con->rx_page = NULL; } - /* If we are an 'othercon' then NULL the pointer to us - from the parent and tidy ourself up */ - if (test_bit(CF_IS_OTHERCON, &con->flags)) { - struct connection *parent = __nodeid2con(con->nodeid, 0); - parent->othercon = NULL; - kmem_cache_free(con_cache, con); - } - else { - /* Parent connections get reused */ - con->retries = 0; - mutex_unlock(&con->sock_mutex); - } + con->retries = 0; + mutex_unlock(&con->sock_mutex); } /* We only send shutdown messages to nodes that are not part of the cluster */ @@ -731,6 +721,8 @@ static int tcp_accept_from_sock(struct connection *con) INIT_WORK(&othercon->swork, process_send_sockets); INIT_WORK(&othercon->rwork, process_recv_sockets); set_bit(CF_IS_OTHERCON, &othercon->flags); + } + if (!othercon->sock) { newcon->othercon = othercon; othercon->sock = newsock; newsock->sk->sk_user_data = othercon; -- 1.5.1.2 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- References:
- [GFS2/DLM] Pre-pull patch posting
- From: [email protected]
- [PATCH 01/51] [GFS2] Fix two races relating to glock callbacks
- From: [email protected]
- [PATCH 02/51] [GFS2] Fix calculation of demote state
- From: [email protected]
- [PATCH 03/51] [GFS2] Clean up duplicate includes in fs/gfs2/
- From: [email protected]
- [PATCH 04/51] [GFS2] GFS2 not checking pointer on create when running under nfsd
- From: [email protected]
- [PATCH 05/51] [GFS2] Fix an oops in glock dumping
- From: [email protected]
- [PATCH 06/51] [GFS2] Move some code inside the log lock
- From: [email protected]
- [PATCH 07/51] [GFS2] Revert part of earlier log.c changes
- From: [email protected]
- [PATCH 08/51] [GFS2] Prevent infinite loop in try_rgrp_unlink()
- From: [email protected]
- [PATCH 09/51] [GFS2] use an temp variable to reduce a spin_unlock
- From: [email protected]
- [PATCH 10/51] [GFS2] Detach buf data during in-place writeback
- From: [email protected]
- [PATCH 11/51] [GFS2] mark struct *_operations const
- From: [email protected]
- [PATCH 12/51] [GFS2] use the declaration of gfs2_dops in the header file instead
- From: [email protected]
- [PATCH 13/51] [GFS2] Reduce number of gfs2_scand processes to one
- From: [email protected]
- [PATCH 14/51] [GFS2] invalid metadata block - REVISED
- From: [email protected]
- [PATCH 15/51] [GFS2] Ensure journal file cache is flushed after recovery
- From: [email protected]
- [PATCH 16/51] [GFS2] use list_for_each_entry instead
- From: [email protected]
- [PATCH 17/51] [GFS2] unneeded typecast
- From: [email protected]
- [PATCH 18/51] [GFS2] better code for translating characters
- From: [email protected]
- [PATCH 19/51] [GFS2] Force unstuff of hidden quota inode
- From: [email protected]
- [PATCH 20/51] [GFS2] fixed a NULL pointer assignment BUG
- From: [email protected]
- [PATCH 21/51] [GFS2] Fix quota do_list operation hang
- From: [email protected]
- [PATCH 22/51] [GFS2] Clean up invalidatepage/releasepage
- From: [email protected]
- [PATCH 23/51] [GFS2] Add a missing gfs2_trans_add_bh()
- From: [email protected]
- [PATCH 24/51] [GFS2] Add NULL entry to token table
- From: [email protected]
- [PATCH 25/51] [GFS2] Reduce truncate IO traffic
- From: [email protected]
- [GFS2/DLM] Pre-pull patch posting
- Prev by Date: [PATCH 25/51] [GFS2] Reduce truncate IO traffic
- Next by Date: [PATCH 04/51] [GFS2] GFS2 not checking pointer on create when running under nfsd
- Previous by thread: [PATCH 25/51] [GFS2] Reduce truncate IO traffic
- Next by thread: [PATCH 27/51] [GFS2] Wendy's dump lockname in hex & fix glock dump
- Index(es):