diff --git a/[refs] b/[refs] index 02b23a0b6f48..b2ade7eb6c61 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4f471e4a9c7db0256834e1b376ea50c82e345c3c +refs/heads/master: 7b862e07b1a4d5c963d19027f10ea78085f27f9b diff --git a/trunk/net/ceph/messenger.c b/trunk/net/ceph/messenger.c index a6a0c7a0a979..feb5a2ac724c 100644 --- a/trunk/net/ceph/messenger.c +++ b/trunk/net/ceph/messenger.c @@ -2003,7 +2003,6 @@ static void process_message(struct ceph_connection *con) con->ops->dispatch(con, msg); mutex_lock(&con->mutex); - prepare_read_tag(con); } @@ -2213,6 +2212,8 @@ static int try_read(struct ceph_connection *con) if (con->in_tag == CEPH_MSGR_TAG_READY) goto more; process_message(con); + if (con->state == CON_STATE_OPEN) + prepare_read_tag(con); goto more; } if (con->in_tag == CEPH_MSGR_TAG_ACK) {