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: v17.1.0~132^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F44291%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 --- diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 0298f3fcc68b..a3bf29a06825 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -2063,7 +2063,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); }