From patchwork Mon Dec 17 22:52:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trond Myklebust X-Patchwork-Id: 10734423 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 E3F0E6C2 for ; Mon, 17 Dec 2018 22:53:47 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D6AAB28A5D for ; Mon, 17 Dec 2018 22:53:47 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C9B9729042; Mon, 17 Dec 2018 22:53:47 +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 615E528A5D for ; Mon, 17 Dec 2018 22:53:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728394AbeLQWxq (ORCPT ); Mon, 17 Dec 2018 17:53:46 -0500 Received: from mail-ot1-f66.google.com ([209.85.210.66]:34873 "EHLO mail-ot1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726548AbeLQWxq (ORCPT ); Mon, 17 Dec 2018 17:53:46 -0500 Received: by mail-ot1-f66.google.com with SMTP id 81so13840292otj.2 for ; Mon, 17 Dec 2018 14:53:45 -0800 (PST) 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=lEVwmO/uBF/Xs4RGSebb/8JoOWj8BhKveIV1MM+oB+k=; b=UBUcz1PqFhUgKX5wZI3LPcz4JAiiuqVffZBdmzaZsdHoOGBWn4HSXQ+r3fW66JvHkp acoSjA2guoxijE/YcprJVnxdfBxtQwQq2mnAV9iFAdc6vcV+D9BKSLKLB4dvNRoTGp5h 4xUaEY7tWAExaq0tRRnAhVlFMXfR33rbMd9f7AI3PnaTeC7lxGMWQW+KVKLPyXoKjMsU wXsMBpkF/xQmvycEXt/2wLImSUiJozEuFAMxGUcm5NU7KaWydscTXewKV5C4adTS0aXv UfhmLwzdt20hIB7uohnXQwcGq9whIMlVSP0SR0B67jHs6tH8PE9ATYld3oOWXdHJBO5D YLLA== 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=lEVwmO/uBF/Xs4RGSebb/8JoOWj8BhKveIV1MM+oB+k=; b=FSPQikuDF3pGF0S/XGIarAiYfwSlmizP7C24Dzn7hljWxIoPpSeNde+ihCnwronEFu 08jM/CPw+Se1kPAirJ1lPNcq5JGD1zpbdWcfjxwRFZlVRUnCHBa0fdKGDprzqOp3RMM9 yi7yi39Aj1Am5DA1WXWHzRC/huBReGLgHzajeD7w922oOXdeID0Q1otFR7oK6RXPizbc D0ZtfTJ39qRZ11Cw+zjWq6XGhn0WreReUDItR5VgMC4+xNEcP47iq3wUqEMUNxt735sc r7x6855H0TUotbR7Xh6hyAerUjtzdgJQgYs7++QkNb/jshL3Hv0/5OQlTI9mQpY72VVb A/2A== X-Gm-Message-State: AA+aEWbMCbhrSW2I2kPbK8HmpfX1RUXxsIaMJfdNrbPP7kD2MldrInz4 KtYD6CpKps0cQC+gFauVSL/QfTGO9w== X-Google-Smtp-Source: AFSGD/V2UGZmeW6foT2vZN5RHMvwKDwjr/lp0X/dl03llE4IkzQNFRNky+9j3cpULVu0q9WB5bz18w== X-Received: by 2002:a9d:2e5:: with SMTP id 92mr11212685otl.59.1545087224517; Mon, 17 Dec 2018 14:53:44 -0800 (PST) Received: from localhost.localdomain (c-68-40-189-247.hsd1.mi.comcast.net. [68.40.189.247]) by smtp.gmail.com with ESMTPSA id 30sm6984266ots.52.2018.12.17.14.53.42 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 17 Dec 2018 14:53:43 -0800 (PST) From: Trond Myklebust X-Google-Original-From: Trond Myklebust To: Dave Wysochanski , Scott Mayhew Cc: Chuck Lever , linux-nfs@vger.kernel.org Subject: [PATCH v2 1/3] SUNRPC: Fix disconnection races Date: Mon, 17 Dec 2018 17:52:33 -0500 Message-Id: <20181217225235.124448-1-trond.myklebust@hammerspace.com> X-Mailer: git-send-email 2.19.2 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 need to call xprt_disconnect_done() in order to clean up the XPRT_WRITE_SPACE flag, and wake up the sleeping tasks. However, we also want to ensure that we don't wake them up before the socket is closed, since that would cause thundering herd issues with everyone piling up to retransmit before the TCP shutdown dance has completed. Only the task that holds XPRT_LOCKED needs to wake up early in order to allow the close to complete. Reported-by: Dave Wysochanski Reported-by: Scott Mayhew Cc: Chuck Lever Signed-off-by: Trond Myklebust Tested-by: Chuck Lever --- net/sunrpc/clnt.c | 1 + net/sunrpc/xprt.c | 5 ++++- net/sunrpc/xprtsock.c | 6 ++---- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index c6782aa47525..24cbddc44c88 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -1952,6 +1952,7 @@ call_connect_status(struct rpc_task *task) /* retry with existing socket, after a delay */ rpc_delay(task, 3*HZ); /* fall through */ + case -ENOTCONN: case -EAGAIN: /* Check for timeouts before looping back to call_bind */ case -ETIMEDOUT: diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index ce927002862a..3fb001dff670 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c @@ -680,7 +680,9 @@ void xprt_force_disconnect(struct rpc_xprt *xprt) /* Try to schedule an autoclose RPC call */ if (test_and_set_bit(XPRT_LOCKED, &xprt->state) == 0) queue_work(xprtiod_workqueue, &xprt->task_cleanup); - xprt_wake_pending_tasks(xprt, -EAGAIN); + else if (xprt->snd_task) + rpc_wake_up_queued_task_set_status(&xprt->pending, + xprt->snd_task, -ENOTCONN); spin_unlock_bh(&xprt->transport_lock); } EXPORT_SYMBOL_GPL(xprt_force_disconnect); @@ -852,6 +854,7 @@ static void xprt_connect_status(struct rpc_task *task) case -ENETUNREACH: case -EHOSTUNREACH: case -EPIPE: + case -ENOTCONN: case -EAGAIN: dprintk("RPC: %5u xprt_connect_status: retrying\n", task->tk_pid); break; diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 8a5e823e0b33..4c471b4235ba 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -1217,6 +1217,8 @@ static void xs_reset_transport(struct sock_xprt *transport) trace_rpc_socket_close(xprt, sock); sock_release(sock); + + xprt_disconnect_done(xprt); } /** @@ -1237,8 +1239,6 @@ static void xs_close(struct rpc_xprt *xprt) xs_reset_transport(transport); xprt->reestablish_timeout = 0; - - xprt_disconnect_done(xprt); } static void xs_inject_disconnect(struct rpc_xprt *xprt) @@ -1489,8 +1489,6 @@ static void xs_tcp_state_change(struct sock *sk) &transport->sock_state)) xprt_clear_connecting(xprt); clear_bit(XPRT_CLOSING, &xprt->state); - if (sk->sk_err) - xprt_wake_pending_tasks(xprt, -sk->sk_err); /* Trigger the socket release */ xs_tcp_force_close(xprt); } From patchwork Mon Dec 17 22:52:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trond Myklebust X-Patchwork-Id: 10734425 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 7848D1575 for ; Mon, 17 Dec 2018 22:53:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6BF6628A5D for ; Mon, 17 Dec 2018 22:53:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5FDA528C0C; Mon, 17 Dec 2018 22:53:48 +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 827B328B41 for ; Mon, 17 Dec 2018 22:53:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726548AbeLQWxq (ORCPT ); Mon, 17 Dec 2018 17:53:46 -0500 Received: from mail-oi1-f194.google.com ([209.85.167.194]:43965 "EHLO mail-oi1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728393AbeLQWxq (ORCPT ); Mon, 17 Dec 2018 17:53:46 -0500 Received: by mail-oi1-f194.google.com with SMTP id u18so396434oie.10 for ; Mon, 17 Dec 2018 14:53:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=OYdSkdwnF17y1PiG4MmckyXHoUkwaxYyhRRTBSGfoWI=; b=YIyFtgPM8zRM5Cd5yWv/5kgYkSgTMEzJSWBMPcmNaeRnHNA0eB1PkA90QiuD4Ca8Fs ZXiAL3VXJyrCnohytdACmmEHY6zHYOoD640xqhxSFvaWmCrsBY2Yl9R1T7KCPsO98EY0 MCI6GSyPexiU5Ahg54FA83r5ZOEi2MIWpsZIAlD4PY58bdEmD48B6I8YxjjVMxgXwBNn 6HRNnd7GVPIRbbm55DzwKW7wUO6a8wzyMwswls+Ja4ySbbcoTkO/0zpNy02AHqbAmPaG lJU9YXRndgzAuAPDy7s1EGk1uvE0ZTNc04FpTWRQlZDnwKd2/PmlFrnTii1+CipHfS3B y+Gw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=OYdSkdwnF17y1PiG4MmckyXHoUkwaxYyhRRTBSGfoWI=; b=SnzNVAW8lycsSoPTTJyrlWiuOXygiloy2nfi0KKci2oiCv15nlT6tZeMbpH9MBPUeR bxu+ZAdWj/a9oahLg0AzJBJ7g4F+CyDcPlt2bFf+lAsPp6o5YOVuvUaLkLfgrYpu/e94 NjJk9EczjoPUnMeVOgd57bJjJ4qrWkdG6KRHHYsbPTSbFkOQtY/sJIbOsYvLFx3A0ThN DYxf4efnkem6DYZPyVO907g5T/7kqz7h4xI5QJB9mhullDoNZI9Rc9uEw0WqrqTykp1s 7Mu8p7zZ8UCvdgaOaJ3Tez4qibtPBY4I/IRYbCXQ4XobYmLk9D9RCdleOPdYudG2Ka2D k5VA== X-Gm-Message-State: AA+aEWbjpyEWerz6mREj+M2FnTHwtfnG7fD9PHKAWdYRaRoZaA/qUnh0 055yiHMUlGQPykK9KmVkzA== X-Google-Smtp-Source: AFSGD/WvWqfaHsoE6d2OW9QXnygmMk0al7nhSHMArY4rq275PQTgwjvJ5NRkz3UTWcCbmLknrfwV8g== X-Received: by 2002:aca:b102:: with SMTP id a2mr6762362oif.180.1545087225671; Mon, 17 Dec 2018 14:53:45 -0800 (PST) Received: from localhost.localdomain (c-68-40-189-247.hsd1.mi.comcast.net. [68.40.189.247]) by smtp.gmail.com with ESMTPSA id 30sm6984266ots.52.2018.12.17.14.53.44 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 17 Dec 2018 14:53:45 -0800 (PST) From: Trond Myklebust X-Google-Original-From: Trond Myklebust To: Dave Wysochanski , Scott Mayhew Cc: Chuck Lever , linux-nfs@vger.kernel.org Subject: [PATCH v2 2/3] SUNRPC: Fix a race with XPRT_CONNECTING Date: Mon, 17 Dec 2018 17:52:34 -0500 Message-Id: <20181217225235.124448-2-trond.myklebust@hammerspace.com> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181217225235.124448-1-trond.myklebust@hammerspace.com> References: <20181217225235.124448-1-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 Ensure that we clear XPRT_CONNECTING before releasing the XPRT_LOCK so that we don't have races between the (asynchronous) socket setup code and tasks in xprt_connect(). Signed-off-by: Trond Myklebust --- net/sunrpc/xprtsock.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 4c471b4235ba..f0b3700cec95 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -2090,8 +2090,8 @@ static void xs_udp_setup_socket(struct work_struct *work) trace_rpc_socket_connect(xprt, sock, 0); status = 0; out: - xprt_unlock_connect(xprt, transport); xprt_clear_connecting(xprt); + xprt_unlock_connect(xprt, transport); xprt_wake_pending_tasks(xprt, status); } @@ -2327,8 +2327,8 @@ static void xs_tcp_setup_socket(struct work_struct *work) } status = -EAGAIN; out: - xprt_unlock_connect(xprt, transport); xprt_clear_connecting(xprt); + xprt_unlock_connect(xprt, transport); xprt_wake_pending_tasks(xprt, status); } From patchwork Mon Dec 17 22:52:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trond Myklebust X-Patchwork-Id: 10734427 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 3CD106C2 for ; Mon, 17 Dec 2018 22:53:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2CEB528A5D for ; Mon, 17 Dec 2018 22:53:49 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2109528C0C; Mon, 17 Dec 2018 22:53:49 +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 BA3AD28A5D for ; Mon, 17 Dec 2018 22:53:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728431AbeLQWxs (ORCPT ); Mon, 17 Dec 2018 17:53:48 -0500 Received: from mail-oi1-f194.google.com ([209.85.167.194]:44374 "EHLO mail-oi1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728393AbeLQWxs (ORCPT ); Mon, 17 Dec 2018 17:53:48 -0500 Received: by mail-oi1-f194.google.com with SMTP id m6so392096oig.11 for ; Mon, 17 Dec 2018 14:53:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QRleCmCjbdBgpQjone5OFISkdxenEUacgJh7zknH83s=; b=J7+aRjblFC3Q4FR6P8jvpmCVRMPeoUV8GJ3QhdpFEUGJSndeKcZ0Tuy/DlVZZKZOrb GHy/LWlu4gFgDkwSGu+te1UqkWwKOmD54T8n04hCrNHOeJ/ph8N9YvC0Qe69rgieGi5u uwo4S4TYTPF+OMuoqrh+aWuAIvcD3DB8ZUTf0Vh9Mwz8u1CMY/PW4ihXqQjywfR/n+Ob I8ZyKtgYSf8s7/7Btt3CvJjVVJMcamK+QKdHaHyWnqyQEyPrGLlTu6Pp7MCfHVBoecUw /xRxazl/PbbFtjQJ/PgKYtrFHX62dLpBzTrpl+hh9KM/FHektWu7mvfjCoE11vhCHk/F fn+Q== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=QRleCmCjbdBgpQjone5OFISkdxenEUacgJh7zknH83s=; b=mZ8WDGaAHULncMumT0KTBamOGumXOTdqoESK3OC9YJEzGyZJuXvaFgL5dEqCIaXw/w skeAKVL+B/Bk/0d3r/eGFilOV+3s7+uRTjSSUbP16sCmqOm/rn0L1mOtm9mR25WZVJh5 1gesuNlE6TGYtmB6NM/8OKAhVj2RZl0UqJhNWydqyrgQWVwfe0wlCWvHKxr6eoKQUhg4 5jrlS81fR448YPMopoiO7eywILrQ3yaeAIAQJMq2BaZ4sjmt8hA3gtf6BjINk2L+hLvF b6Ime08XvKLEjhy2eIcBFAmJbHeVUWWxVXixd1p+Gw1iTPwOI5mW1togIQThd8f9x4U9 FvAQ== X-Gm-Message-State: AA+aEWYcrnhREIOR9d8ebdcEWXNTBHlvUAas5+Q1ijdRal0GVX0CsQYj LMDsUH0hDtL3fjfLT43Vug== X-Google-Smtp-Source: AFSGD/U4VHplbrwqPhaylcA4vzoVAmQFRwxBoWnyrjGgeHnwlU+5CtOF0ZOCFsO3538Krs8NuKcQow== X-Received: by 2002:aca:e755:: with SMTP id e82mr6022765oih.153.1545087226847; Mon, 17 Dec 2018 14:53:46 -0800 (PST) Received: from localhost.localdomain (c-68-40-189-247.hsd1.mi.comcast.net. [68.40.189.247]) by smtp.gmail.com with ESMTPSA id 30sm6984266ots.52.2018.12.17.14.53.45 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 17 Dec 2018 14:53:46 -0800 (PST) From: Trond Myklebust X-Google-Original-From: Trond Myklebust To: Dave Wysochanski , Scott Mayhew Cc: Chuck Lever , linux-nfs@vger.kernel.org Subject: [PATCH v2 3/3] SUNRPC: Remove xprt_connect_status() Date: Mon, 17 Dec 2018 17:52:35 -0500 Message-Id: <20181217225235.124448-3-trond.myklebust@hammerspace.com> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181217225235.124448-2-trond.myklebust@hammerspace.com> References: <20181217225235.124448-1-trond.myklebust@hammerspace.com> <20181217225235.124448-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 Over the years, xprt_connect_status() has been superseded by call_connect_status(), which now handles all the errors that xprt_connect_status() does and more. Since the latter converts all errors that it doesn't recognise to EIO, then it is time for it to be retired. Reported-by: Chuck Lever Signed-off-by: Trond Myklebust --- net/sunrpc/xprt.c | 32 +------------------------------- 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index 3fb001dff670..73547d17d3c6 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c @@ -67,7 +67,6 @@ */ static void xprt_init(struct rpc_xprt *xprt, struct net *net); static __be32 xprt_alloc_xid(struct rpc_xprt *xprt); -static void xprt_connect_status(struct rpc_task *task); static void xprt_destroy(struct rpc_xprt *xprt); static DEFINE_SPINLOCK(xprt_list_lock); @@ -822,7 +821,7 @@ void xprt_connect(struct rpc_task *task) if (!xprt_connected(xprt)) { task->tk_timeout = task->tk_rqstp->rq_timeout; task->tk_rqstp->rq_connect_cookie = xprt->connect_cookie; - rpc_sleep_on(&xprt->pending, task, xprt_connect_status); + rpc_sleep_on(&xprt->pending, task, NULL); if (test_bit(XPRT_CLOSING, &xprt->state)) return; @@ -841,35 +840,6 @@ void xprt_connect(struct rpc_task *task) xprt_release_write(xprt, task); } -static void xprt_connect_status(struct rpc_task *task) -{ - switch (task->tk_status) { - case 0: - dprintk("RPC: %5u xprt_connect_status: connection established\n", - task->tk_pid); - break; - case -ECONNREFUSED: - case -ECONNRESET: - case -ECONNABORTED: - case -ENETUNREACH: - case -EHOSTUNREACH: - case -EPIPE: - case -ENOTCONN: - case -EAGAIN: - dprintk("RPC: %5u xprt_connect_status: retrying\n", task->tk_pid); - break; - case -ETIMEDOUT: - dprintk("RPC: %5u xprt_connect_status: connect attempt timed " - "out\n", task->tk_pid); - break; - default: - dprintk("RPC: %5u xprt_connect_status: error %d connecting to " - "server %s\n", task->tk_pid, -task->tk_status, - task->tk_rqstp->rq_xprt->servername); - task->tk_status = -EIO; - } -} - enum xprt_xid_rb_cmp { XID_RB_EQUAL, XID_RB_LEFT,