Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp2505892ybg; Fri, 31 Jul 2020 01:28:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJze8zea39TS74ihbjsnHmBBlmsFoRpb95Hs3TYGYN785rvGg09TpGZDYck6ueeH9yAoHZHX X-Received: by 2002:a17:906:924b:: with SMTP id c11mr2989507ejx.75.1596184102158; Fri, 31 Jul 2020 01:28:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596184102; cv=none; d=google.com; s=arc-20160816; b=RmwgrL3NzJQm6ngq0J+JmKzdUho1UFTeUByDoGuZY8ZoyI3WR1sU0AFX7ACCyBOCSH 3fNoLj/zGMBw/YLE/CEGt8RbJiF0fYM/nLl0bjn9119Rg9mpa266jbhJX/fjyiUfYQuj WmU6RcnHC6P9YULX5QKusjz7UeF7kh5AQoKJPaDqdM5X7OYq9rm00xqZrb5vD74+d7VT O0p7Z4J9l2JcELDjW5e4xdtcThQCOAZyRlzIIvZaJrkKG6oXBOMhPfdU8mYr1nt3ZYQB JI8SddTSyOWIjTXZ2jT0CrN6yq5xjlTD9xPh2GxIIqFCTaxBxYtEuPhuuoG32OqhxOnz I2kA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=Ujf+KrybvrGWNqpJo703c72loRmmDkR+AgXb4PTVmEY=; b=i8Ifqg6rFEkNFU87aWAf1VpOfZw6E9gqKALgW0pp7LWaV8Ipe+cuRkIIxzyMvPZc0h 3jbj+2Jehm2ankPGgYr+jZLEniiF8f/ADm8yikQsls06aXkWOCCmgq9CbaXmNg6leqz5 CIMOYLPOpl+uBCAd+//UEDqF6mCXbKhn/cWpXTTv55HM8FwWAEluYNDAPhfBvbVeWa4y w8SX+nmVhKZH3lCaJMuCdVE6Ne3qZ/0WwRKm8kQchFU7vmksCOnVcRh9e0XitvEEaw+y DpoqXFFMpxMoBUoY8m1o2w69J3evNmTpqQHsq48iMxYFt4CKxggxh2Cl0pS2hfmomjlb CVSw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=V1Kutge9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id lc15si4588383ejb.526.2020.07.31.01.27.58; Fri, 31 Jul 2020 01:28:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=V1Kutge9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731927AbgGaIZo (ORCPT + 99 others); Fri, 31 Jul 2020 04:25:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51206 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731510AbgGaIZn (ORCPT ); Fri, 31 Jul 2020 04:25:43 -0400 Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E2848C061574; Fri, 31 Jul 2020 01:25:43 -0700 (PDT) Received: by mail-pj1-x102f.google.com with SMTP id f9so7152676pju.4; Fri, 31 Jul 2020 01:25:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Ujf+KrybvrGWNqpJo703c72loRmmDkR+AgXb4PTVmEY=; b=V1Kutge9JRHoOGpa5eXYHmJyjYnrikyrK2a0/JyNFD9q9aYjKvoBncuSeSd6c3Wfwg VZzBaf+FtDsxM3y8wiQvakUVvc1fpgFsIGWhY7mrjwllA3LdBEiV2DQP+92Pc/vjzhxa /zCI12KrA/mJ7xw/oRMcjm55R4DqXV9Fu4Ezf5TU8JOT6MBhC6/k72C3Fs9+RziDJ+Vs U/lp48osPOguALFnkI0JLqq48VjaThS76X4TZ51iEsvnFBbM6OEKGOUZTrCryQCQICIZ JxRmYv5NRe95kijUlqlk1QCF6sIRBSklcLjPTOv4kH+9GavQ7uUFBj/qHZD2GBlQYNhG JLEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Ujf+KrybvrGWNqpJo703c72loRmmDkR+AgXb4PTVmEY=; b=bWjSgFg5kDR2IvEl71zn+TmVQBZLb7LZAw17Ompnmvy1mKkC+ipvh1gMYUPzwVvm0Y kmbNMA8QU9FZjQ5W3SNm23SIVmazfr91jWtNgs4sRssLaLEbUsEgPDvQxEOvr+jQt1MR ZdK47+IxgH3xty32eVas3SkJ3S/m5RtgQhS8e5kiaKnKvhXufkv83Q2YIFAqgFHGZCh5 RUt0JLWqkZqY1J0s+3bG2NT8J5ZIYN6xX5CFikziZuvYm6TCEAwU9nT665ClEeWBUYJm Vnp0jJFsMMtrdC7eTG8qJOREu7wCcxQYxg+ivIUY2mWZNAXCLkGVEhx69LB/TNJQv3Xd kXsA== X-Gm-Message-State: AOAM533+UiWiJHheSz7NqVJK4RNT0/5GsWAE2RcnXiyfoIFmnHvoAA4A 7iMsaBovuqGTwzUXPEFefM0= X-Received: by 2002:a62:86ca:: with SMTP id x193mr1311209pfd.152.1596183943444; Fri, 31 Jul 2020 01:25:43 -0700 (PDT) Received: from localhost.localdomain ([122.224.153.227]) by smtp.gmail.com with ESMTPSA id u15sm8628579pju.42.2020.07.31.01.25.40 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Jul 2020 01:25:42 -0700 (PDT) From: Yanhu Cao To: jlayton@kernel.org Cc: idryomov@gmail.com, ceph-devel@vger.kernel.org, linux-kernel@vger.kernel.org, Yanhu Cao Subject: [v2] ceph: use frag's MDS in either mode Date: Fri, 31 Jul 2020 16:25:13 +0800 Message-Id: <20200731082513.11806-1-gmayyyha@gmail.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When doing some tests with multiple mds, there are many mds forwarding requests between them and then the client request is resent. If the request is a modification operation and the mode is set to USE_AUTH_MDS. Auth mds should be selected to handle the request, and if auth mds for frag is already set, it can be returned directly without the logic behind it. But the current logic doesn't return directly because the condition 'mode == USE_AUTH_MDS', and sometimes frag's mds is not equal to cap's session mds, which then causes the request to be resent. Signed-off-by: Yanhu Cao --- fs/ceph/mds_client.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index a50497142e59..b2255a9be7c0 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -1103,8 +1103,7 @@ static int __choose_mds(struct ceph_mds_client *mdsc, frag.frag, mds); if (ceph_mdsmap_get_state(mdsc->mdsmap, mds) >= CEPH_MDS_STATE_ACTIVE) { - if (mode == USE_ANY_MDS && - !ceph_mdsmap_is_laggy(mdsc->mdsmap, + if (!ceph_mdsmap_is_laggy(mdsc->mdsmap, mds)) goto out; } -- 2.24.3 (Apple Git-128)