From: Venky Shankar Date: Mon, 13 Dec 2021 06:15:19 +0000 (-0500) Subject: mds: ignore unknown client op when tracking op latency X-Git-Tag: v15.2.17~110^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F44976%2Fhead;p=ceph.git mds: ignore unknown client op when tracking op latency Server::handle_client_request() ignores unknown client operation by returning -ENOTSUPP, however, Server::perf_gather_op_latency() aborts on unknown client op, thereby causing -ENOTSUPP to never reach the client. ceph_abort() seems unnecessary here. Note, we could have invoked Server::perf_gather_op_latency() when the return value to client is not -ENOTSUPP, however, a valid client operation *might* just return -ENOTSUPP in some cases. @mchangir ran into this with his getvxattr op changes (PR #42001). Signed-off-by: Venky Shankar (cherry picked from commit 2f4060b8c41004d10d9a64676ccd847f6e1304dd) --- diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 410004316403..bee70ea44bde 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -2009,7 +2009,9 @@ void Server::perf_gather_op_latency(const cref_t &req, utime_t l case CEPH_MDS_OP_RENAMESNAP: code = l_mdss_req_renamesnap_latency; break; - default: ceph_abort(); + default: + dout(1) << ": unknown client op" << dendl; + return; } logger->tinc(code, lat); }