From patchwork Fri Mar 15 17:51:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trond Myklebust X-Patchwork-Id: 10855375 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B51E313B5 for ; Fri, 15 Mar 2019 17:52:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9E3D82A62D for ; Fri, 15 Mar 2019 17:52:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9285E2AB72; Fri, 15 Mar 2019 17:52:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 479092A62D for ; Fri, 15 Mar 2019 17:52:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726489AbfCORwy (ORCPT ); Fri, 15 Mar 2019 13:52:54 -0400 Received: from mail-it1-f195.google.com ([209.85.166.195]:40432 "EHLO mail-it1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726218AbfCORwy (ORCPT ); Fri, 15 Mar 2019 13:52:54 -0400 Received: by mail-it1-f195.google.com with SMTP id l139so12192528ita.5 for ; Fri, 15 Mar 2019 10:52:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=ghVaYxP4lrdAW7QE3DJPRmBO3oJmBjuC2pYalHI4xgE=; b=h7O+/mGyLxlHqgYvuy+u5K5B3iPQGfccDIQ3CTHH4YXgBsGw0aBM1CXxFsnwGPG/IB 0LW+IPu2a8W2obPG1BQxJyDZwWieMjh0cgbk22QXOJchHJkn4qSSjFFccH/KFwldD6LN SmgEjzkfqE6Ly2bi20qugxp1ESTVV/+xvdhxWG80QdGnWZDdEmovPqNN0wSAqCqs9yNo upaG5pjiZdAswusemr3SVGBB/PZUaXUZCLhvQqKSrS3wDP+uEHgEOwRiPv+K0od2pRzf 5g5i8jPaPVJy09QbJzfXCyaKGngHYPPRJeJvrDfSIGLByp/nrnwxfpB9mLfTMkPQpo5p 12YQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ghVaYxP4lrdAW7QE3DJPRmBO3oJmBjuC2pYalHI4xgE=; b=uFsC+P+6GgWYE4CI7y06uQW2jaOIiqXLA1dV1+6XxHGgapPGWz3/X69CP6v04LRlSa KR+5bnZJsjU+YRhKtjKOeFlkeRA8NHZjNeqJbiEH8aCvtsoiGzXztdDhVnrdVvBU2c90 fhXEty4E4fRcvI5CvQHlzyerwls2DAT0B/5NGmVBMpXqrTbypLCDRVuDD0L6WR1Yvjn+ y6uOzL+9pxU+BIWcTUh8/ZPT6pJFCuRIGlMszTF6dYFnHhUMUzR4lw31sggaupM8Ru9i yt/1fipvLyrNXs0XvykHK+KUD6gzlk+7Nyy3edSgcxrvpUyM5DiNMJaVoVW4EuAK0rzs QbhA== X-Gm-Message-State: APjAAAUiQqmyQb82wtD9VWqi+Xt+D3XOi/L1Fwq0cad4ycTMJS3m66Cz Vf2RaTylfuQBEQqGbWTrjLtwJ3c= X-Google-Smtp-Source: APXvYqzh/DQfKJ/sOTWwEwfSSYx4wVSng7XYD2sY+qMiCjmshK6X4tBq1UrV5xNbNJOvcNlKQdRUFA== X-Received: by 2002:a02:4904:: with SMTP id z4mr3182633jaa.46.1552672373165; Fri, 15 Mar 2019 10:52:53 -0700 (PDT) Received: from localhost.localdomain (c-68-40-189-247.hsd1.mi.comcast.net. [68.40.189.247]) by smtp.gmail.com with ESMTPSA id r2sm1138415itk.5.2019.03.15.10.52.52 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 15 Mar 2019 10:52:52 -0700 (PDT) From: Trond Myklebust X-Google-Original-From: Trond Myklebust To: linux-nfs@vger.kernel.org Subject: [PATCH 3/6] SUNRPC: Use the ENOTCONN error on socket disconnect Date: Fri, 15 Mar 2019 13:51:38 -0400 Message-Id: <20190315175141.68792-3-trond.myklebust@hammerspace.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190315175141.68792-2-trond.myklebust@hammerspace.com> References: <20190315175141.68792-1-trond.myklebust@hammerspace.com> <20190315175141.68792-2-trond.myklebust@hammerspace.com> MIME-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP When the socket is closed, we currently send an EAGAIN error to all pending requests in order to ask them to retransmit. Use ENOTCONN instead, to ensure that they try to reconnect before attempting to transmit. This also helps SOFTCONN tasks to behave correctly in this situation. Signed-off-by: Trond Myklebust --- net/sunrpc/xprt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index e096c5a725df..d7117d241460 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c @@ -664,7 +664,7 @@ void xprt_disconnect_done(struct rpc_xprt *xprt) spin_lock_bh(&xprt->transport_lock); xprt_clear_connected(xprt); xprt_clear_write_space_locked(xprt); - xprt_wake_pending_tasks(xprt, -EAGAIN); + xprt_wake_pending_tasks(xprt, -ENOTCONN); spin_unlock_bh(&xprt->transport_lock); } EXPORT_SYMBOL_GPL(xprt_disconnect_done);