From: Haomai Wang Date: Sat, 12 Mar 2016 13:02:51 +0000 (+0800) Subject: async: skip unnecessary steps when parsing simple messages X-Git-Tag: v10.2.3~136^2~10 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=441847d9951e230b48776fa0fbe639d7b23a595b;p=ceph.git async: skip unnecessary steps when parsing simple messages Signed-off-by: Haomai Wang (cherry picked from commit a9ac1c4f88ffb5f66c43527ea0ae1deef1be3a96) --- diff --git a/src/msg/async/AsyncConnection.cc b/src/msg/async/AsyncConnection.cc index 7ae81871845..813cfd85853 100644 --- a/src/msg/async/AsyncConnection.cc +++ b/src/msg/async/AsyncConnection.cc @@ -729,7 +729,6 @@ void AsyncConnection::process() ldout(async_msgr->cct, 20) << __func__ << " got front " << front.length() << dendl; } state = STATE_OPEN_MESSAGE_READ_MIDDLE; - break; } case STATE_OPEN_MESSAGE_READ_MIDDLE: @@ -751,7 +750,6 @@ void AsyncConnection::process() } state = STATE_OPEN_MESSAGE_READ_DATA_PREPARE; - break; } case STATE_OPEN_MESSAGE_READ_DATA_PREPARE: @@ -780,7 +778,6 @@ void AsyncConnection::process() msg_left = data_len; state = STATE_OPEN_MESSAGE_READ_DATA; - break; } case STATE_OPEN_MESSAGE_READ_DATA: @@ -801,10 +798,10 @@ void AsyncConnection::process() msg_left -= read; } - if (msg_left == 0) - state = STATE_OPEN_MESSAGE_READ_FOOTER_AND_DISPATCH; + if (msg_left > 0) + break; - break; + state = STATE_OPEN_MESSAGE_READ_FOOTER_AND_DISPATCH; } case STATE_OPEN_MESSAGE_READ_FOOTER_AND_DISPATCH: