Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp1049337ybp; Thu, 17 Oct 2019 07:20:51 -0700 (PDT) X-Google-Smtp-Source: APXvYqwBy6EMNw1nJpnwJB7oRt+CdU6iaun+WfhkFQfBncW0f9T71Rzwk7014wp7YLRIHpFKeQWk X-Received: by 2002:a05:6402:74b:: with SMTP id p11mr4064089edy.84.1571322051252; Thu, 17 Oct 2019 07:20:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571322051; cv=none; d=google.com; s=arc-20160816; b=JWV1P5bAP9AGcZKuvX/HOaWL/iSnzfbTH3ks9uzaxDOD5rsQfQSlpzLhof7w0ovV4u kEGiDxX0tW/wEsLPwJK1ANUWicY9pEAtz6K4gG3Il9TGs0Ur9vP36gv0mxR2KYWtxdDk k/nAgebaeclgSI7cuLdrPzmKg+rGHBs4LJ7rizqNM0//kLRpKX2gR6ODtW2X5O6evG+b +hJo3uJK4vqyNL8PUErleRDTh4THztSY7HSgBsvVnHaHbB04Ea4dMnsHKkz5vHP7dSms 97WAbBooKlnCoPuGW5TATQm+YEU0jdRvsGLxwCkfkIi6+j/JlHGR6ZihiobxIkWi5NmM B4JQ== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=7FtE5rfUbvL9jiz1eaJYYlmWTfhC4NE/e0x/FVP3rXo=; b=frMXp99ur0Gz/z9/04gONazeG9fzBADoq9iR5UM5E33BCUIpTY/ASalLjdmbetYmMi HsX0ofFT0dRTPfig/CWQeVx6WGWqlBBrA5Ii5O1d6rPgg3/BzMpAr4vMbyoFYVOLRnVK iMttjTVs5HwgHC8vfQh5UwbCZXz56dRvz5/rBpfkDwTox7/mY0OeCEqkrbsJveD8MIsz dkXUe1h3/4GL27Pqtpw25tV0RJpo5T99QqLVni05aJgxqYG8hLz69Xly3YH6VVdqRNBp UfY9GSbDLvfOFQxSFZ+8UPOdva8Fe/bdaGUU2C8vQJ6feRhX8PMK/Ms6YSbn32YQHQP7 Jyig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=tJjScAh3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n4si1434142ejj.132.2019.10.17.07.20.27; Thu, 17 Oct 2019 07:20:51 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=tJjScAh3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729146AbfJPVy3 (ORCPT + 99 others); Wed, 16 Oct 2019 17:54:29 -0400 Received: from mail.kernel.org ([198.145.29.99]:43964 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727832AbfJPVyO (ORCPT ); Wed, 16 Oct 2019 17:54:14 -0400 Received: from localhost (unknown [192.55.54.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A861521A49; Wed, 16 Oct 2019 21:54:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1571262853; bh=DdXffDv43Dzcs2A5WSrvHVsPPlFVTzzPNg20It8U2EU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tJjScAh3+Ua6ukoztvDUX2UuYcjp2wNjrPRdds4h0e+YhHUuvu0XcJH/GpSHREY7k fsICQOANlFciaNSXLNkpiLoW54/LLep2sizgosONW5Nc+ZSkhNCoLFSFWvWqIMREZF GbHQqJdphNlMwJTqUJcig6VKGT1RT9mNgyM1up1Q= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, "Yan, Zheng" , Jeff Layton , Ilya Dryomov , Sasha Levin Subject: [PATCH 4.9 20/92] ceph: reconnect connection if session hang in opening state Date: Wed, 16 Oct 2019 14:49:53 -0700 Message-Id: <20191016214816.727736806@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191016214759.600329427@linuxfoundation.org> References: <20191016214759.600329427@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Erqi Chen [ Upstream commit 71a228bc8d65900179e37ac309e678f8c523f133 ] If client mds session is evicted in CEPH_MDS_SESSION_OPENING state, mds won't send session msg to client, and delayed_work skip CEPH_MDS_SESSION_OPENING state session, the session hang forever. Allow ceph_con_keepalive to reconnect a session in OPENING to avoid session hang. Also, ensure that we skip sessions in RESTARTING and REJECTED states since those states can't be resurrected by issuing a keepalive. Link: https://tracker.ceph.com/issues/41551 Signed-off-by: Erqi Chen chenerqi@gmail.com Reviewed-by: "Yan, Zheng" Signed-off-by: Jeff Layton Signed-off-by: Ilya Dryomov Signed-off-by: Sasha Levin --- fs/ceph/mds_client.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index 67cb9d078bfa7..3139fbd4c34e3 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -3410,7 +3410,9 @@ static void delayed_work(struct work_struct *work) pr_info("mds%d hung\n", s->s_mds); } } - if (s->s_state < CEPH_MDS_SESSION_OPEN) { + if (s->s_state == CEPH_MDS_SESSION_NEW || + s->s_state == CEPH_MDS_SESSION_RESTARTING || + s->s_state == CEPH_MDS_SESSION_REJECTED) { /* this mds is failed or recovering, just wait */ ceph_put_mds_session(s); continue; -- 2.20.1