From d176e68f00c3db15b3c562352d945d56f0aee503 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 14 Dec 2009 14:30:34 -0800 Subject: [PATCH] --- yaml --- r: 188649 b: refs/heads/master c: 5e095e8b40b0402ad3bcadc5b8d84c38b26c30b2 h: refs/heads/master i: 188647: 394543b81f6249e59b1dd320bc191f2decbb886c v: v3 --- [refs] | 2 +- trunk/fs/ceph/messenger.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 14c686c1a245..d03780e1b922 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c86a2930ccbd90d77c54d04b5c2bbec95b989e40 +refs/heads/master: 5e095e8b40b0402ad3bcadc5b8d84c38b26c30b2 diff --git a/trunk/fs/ceph/messenger.c b/trunk/fs/ceph/messenger.c index 96fd556a7804..98519bd33f04 100644 --- a/trunk/fs/ceph/messenger.c +++ b/trunk/fs/ceph/messenger.c @@ -1434,8 +1434,9 @@ static int read_partial_message(struct ceph_connection *con) */ static void process_message(struct ceph_connection *con) { - struct ceph_msg *msg = con->in_msg; + struct ceph_msg *msg; + msg = con->in_msg; con->in_msg = NULL; /* if first message, set peer_name */ @@ -1810,7 +1811,11 @@ static void ceph_fault(struct ceph_connection *con) clear_bit(BUSY, &con->state); /* to avoid an improbable race */ con_close_socket(con); - con->in_msg = NULL; + + if (con->in_msg) { + ceph_msg_put(con->in_msg); + con->in_msg = NULL; + } /* If there are no messages in the queue, place the connection * in a STANDBY state (i.e., don't try to reconnect just yet). */