From patchwork Thu Jan 23 20:25:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 13948623 X-Patchwork-Delegate: cel@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8AA461CAA8B; Thu, 23 Jan 2025 20:25:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663937; cv=none; b=iaYyY6wGbnp/qrirH9WNs9jHZPW+JN+wDRwsu6a2WPlPaA/Jd1Kk2EUw+jeVW0Fmf90EV51XwSYXISn3cfOps/+kWHh12alNm16SAf4NFZqOJ86PfVvTdI3WiiMt5eGJPFMSp42AWKY1jhQE9MoO6rKFKS+N8xXoMBTofacs8/w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663937; c=relaxed/simple; bh=hSh7vdyXNyj5bYW6UhG0vRfyOLvJnGoh+PR/1QnbffE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Htt5HJIKCcORgroHvFqWuhiNkzRCo+1qicQJEen98Po25bMCgjigVYXV2Ks164qcEPxd4Ii2nTN0nDeAV6cYkUEmw2EeI6tCUcH4dGxmn3stFH8IJkke6QLr0/XwBUWeGwiyuIG5svPKssfv6udKqnRR3L5M29aEvfjg4AJzRIY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZpVdgqlU; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZpVdgqlU" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4FEC6C4CEE3; Thu, 23 Jan 2025 20:25:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737663936; bh=hSh7vdyXNyj5bYW6UhG0vRfyOLvJnGoh+PR/1QnbffE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=ZpVdgqlUbTrVd1aIwkjRYEizZCzI/WdDB0aBPptb/he8rS1yULUMW5oaDqyut4Q5x QC5cAJPjU+TMAK6JC5zi1ipQYkL7USGoH9gx9e4OSpJ/cXdd5lXB2NAo/3KNrcdEFi iNqCMUsWz3N390qgp4UsQXDhgljIz2SwQ0UbAMvu3x3qeVJ4Km8uV6G5pf6NwYgbkF +W3i/CiPhoVgRp1NqjJYL1MNffpX0S4Uy+a6HeAKLkGqM156AFyDkwEMXRF/VBHgLI 63ipwrWSEmeqasSxMWmlBChhKd2dH4RuN/mKQ+UkHOoJI5jYQl4BTES3s2CHh26wOY DdBeAQojWeCnA== From: Jeff Layton Date: Thu, 23 Jan 2025 15:25:18 -0500 Subject: [PATCH 1/8] nfsd: don't restart v4.1+ callback when RPC_SIGNALLED is set Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250123-nfsd-6-14-v1-1-c1137a4fa2ae@kernel.org> References: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> In-Reply-To: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , "J. Bruce Fields" , Kinglong Mee , Trond Myklebust , Anna Schumaker , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=980; i=jlayton@kernel.org; h=from:subject:message-id; bh=hSh7vdyXNyj5bYW6UhG0vRfyOLvJnGoh+PR/1QnbffE=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBnkqW7SDyn7TBlzz79U9X+S1z1CofRlMnQ0dL+r MQsr4n9ejyJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ5KluwAKCRAADmhBGVaC FYzAD/0bAzcCczROFMOHRqXNmFmnIPIHJAUHUnShmKOF/JwuVNKO/d1IyCB79RZuCtEJ69oXyIV wSFUiqP4mNk4inTqfpJi2y+3NpOqAHjbilZ+BXsgRYjiR716NfeP60T4yGMKi2qXBW4LNY9XrZw NtkTTRsiWK4Kguz/loqPXD/Al3Qp5akRpi6rNHm/rogPPWGWMhZZE2MAZA3VrW0gfaI/Ue2t4VU 382u1aJFeqWK28Q6bO3ZdI0rAMwDuUMqkm26cUxXTLsH5eDHcVRt9GD8nV8NKTe3TzUVg3Egrj2 +1SSFk1h8jNyVYd1GNP/yFLKTVdrj8vxwx7umQuIvfxALKHKZvHpk5U0gd/2/Svmuc11ChYJzkV W+tOZDQ+DZ2DPH75GJx+Eq3TKZ5i+xhe2YuEjcGA3Cr4nP7pohI2V7zNhk4vqsTgmOBvKJsg2mE wtMJsplmuKLveky0N+w7D4Lb7YJahN6gn0ZqFUFX/47SwcH9dq5q27FLya6ImeP3quC9jRwqL7t KHQLusFwxjhDMjZhPc54inC7z3WN1/FgJdv9JttTJ1YKE/pz+AQX+aZLVbTsk54WC/E3sfAAyPK fpyH9UAYsy3QBE4yCHbrtIywlt8UMEzWd+ukkSH+T30Gm/HrNiSBP1tdPyoaVMYfNVJNEW6EY5X /eqmA6ihXy2C+gA== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 This is problematic, since the RPC might have been entirely successful. There is no point in restarting a v4.1+ callback just because RPC_SIGNALLED is true. The v4.1+ error handling has other mechanisms for detecting when it should retransmit the RPC. Fixes: 7ba6cad6c88f ("nfsd: New helper nfsd4_cb_sequence_done() for processing more cb errors") Signed-off-by: Jeff Layton --- fs/nfsd/nfs4callback.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index 50e468bdb8d4838b5217346dcc2bd0fec1765c1a..e12205ef16ca932ffbcc86d67b0817aec2436c89 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c @@ -1403,9 +1403,6 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback } trace_nfsd_cb_free_slot(task, cb); nfsd41_cb_release_slot(cb); - - if (RPC_SIGNALLED(task)) - goto need_restart; out: return ret; retry_nowait: From patchwork Thu Jan 23 20:25:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 13948624 X-Patchwork-Delegate: cel@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 276C31F7080; Thu, 23 Jan 2025 20:25:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663939; cv=none; b=GOYbCJe2439l8RrRRzjFo013Dji4AgxFFXtK3aokwqmEjC/oQvCArT8i3qk6RM4u3Ff22JtFLUC7VUObqPV6gSW6eeyEuXbgsbnv05IpMTOFrejLVYv23U8Bw4f85oOlynZSj07/erVpbYZQGTYdwV4ORvmHbrfaIYLEPeyYvyg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663939; c=relaxed/simple; bh=IsX74en0tidPpWpPwlknHnxNcTKlCQ+ZyFjLYGnQLfo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UMNJQ4utMTfRAKMHiI09Ga9EK+qUNqZgKz3+pLqB5Ys+0HUkeKH3IGKMFKsBb91Ls7XXnHBj5CzusCYNZQbR1dk3YI0ryQ36uGCCxHsfBn6aiw2vxhDUZKgN5T4t5NtmG5hOltOwpNkCr89N0RLIgKniZxHSXWdpmQHM8S6/KDw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=RTeWnuod; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="RTeWnuod" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 13324C4CEE1; Thu, 23 Jan 2025 20:25:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737663938; bh=IsX74en0tidPpWpPwlknHnxNcTKlCQ+ZyFjLYGnQLfo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=RTeWnuodW0+YtD+vxn1sr+uO2FOdoB6yUtlAY+iGtxgOcVquDlwEciZQozPaWmoxt emi9xBTrM/cu20czgLFWbq+kAEJrEzkMNIIaSU1uWcPZvjf0GWIkM6IM347J+DTkmQ Le+I8G6YbNZ+DeAIiChFaqGuisnlLZ0OFSEXHmVQIdCfwFlv6aGM0RbbADqJmjFL6i HSokMIMkHeYsmo65kcFc7/A8JEdQ2tu+Hm2yce3OImB3VWOsgQCCUyHwFYfcEF2R/c pIfHBxhzWJ5NJBc5vG5tJt2sNCeXOdxZC301EBbD0Z7KvXEEenvqa/e4A8sWCJwImb YnZOJpRyIAYNw== From: Jeff Layton Date: Thu, 23 Jan 2025 15:25:19 -0500 Subject: [PATCH 2/8] nfsd: fix CB_SEQUENCE error handling of NFS4ERR_{BADSLOT,BADSESSION,SEQ_MISORDERED} Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250123-nfsd-6-14-v1-2-c1137a4fa2ae@kernel.org> References: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> In-Reply-To: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , "J. Bruce Fields" , Kinglong Mee , Trond Myklebust , Anna Schumaker , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2700; i=jlayton@kernel.org; h=from:subject:message-id; bh=IsX74en0tidPpWpPwlknHnxNcTKlCQ+ZyFjLYGnQLfo=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBnkqW8QzxwRqEmYfF+TnMadWRxcFVz1X3TVfAVV S8ZJOhFZMqJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ5KlvAAKCRAADmhBGVaC FQLZD/4tZpo2femFaa6Z0yKOa8UC4cDqt66iJruriv0atznBfsDo/7zGzBWrl7lehZ6s+cG5Knq FM6znChgD5HC/f0mKKNxhBNwdU+aPKvNhbWH0VkjfWD1gdMXrIVJtZ7ytKZdVitcaW6OhBeXp8X BHR5aNqPEJxc2PLam9eA+q+crESIPdotap5Xitz93GFyypjwldQzgAu4pHUhwib+iGIdnKdv6O9 6THM3bSE+246K5mSRXuZJ20rVXmo2SesmVtRGyQVNgSkkKMrm5po4Jkq6rxZKoHPVI7UOp127se 9FKiWWC+rqBKJdMgUd2hsKNZCiikcnq4R0C3XROlMlw7oFyGuY89mwmqGhG9EZHXsb2PLXuBIF3 y6ftq3gyLj39LiCfcIG3sdOJeFllSvCNDuUNeaJDqpsGK0e5uU4Gt5LK7I6aRIRag+2UwqVIga4 nFV/RFD4eXz/bAZ/ZOdlEUendrO2Hj+KcqVTyKCfLbwOkQxAJtvVbHW6XyblmT1kVTJZYAY8YC2 A134EvOl8EEJ/GeUhioUBBVJh4nxRaDyUGNfk9fHfca2qohpHx+awLXsuO2d3gHCq3VMBgOVXGW yc2g5KBO6K5/+nuth9+7Rahp7uIC5Ju/O7EWKA2cvjK7kt8jrOd4Ulc/1Be/68UR0pkF6cuB0Qu +RkRj1UCVLZyZ5g== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 The current error handling has some problems: BADSLOT and BADSESSION: don't release the slot before retrying the call SEQ_MISORDERED: does some sketchy resetting of the seqid? I can't find any recommendation about doing that in the spec, and it seems wrong. Handle all three errors the same way: release the slot, but then handle it just like we would as if we hadn't gotten a reply; mark the session as faulty, and retry the call. Fixes: 7ba6cad6c88f ("nfsd: New helper nfsd4_cb_sequence_done() for processing more cb errors") Signed-off-by: Jeff Layton --- fs/nfsd/nfs4callback.c | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index e12205ef16ca932ffbcc86d67b0817aec2436c89..bfc9de1fcb67b4f05ed2f7a28038cd8290809c17 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c @@ -1371,17 +1371,24 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback nfsd4_mark_cb_fault(cb->cb_clp); ret = false; break; + case -NFS4ERR_BADSESSION: + case -NFS4ERR_BADSLOT: + case -NFS4ERR_SEQ_MISORDERED: + /* + * These errors indicate that something has gone wrong + * with the server and client's synchronization. Release + * the slot, but handle it as if we hadn't gotten a reply. + */ + nfsd41_cb_release_slot(cb); + fallthrough; case 1: /* * cb_seq_status remains 1 if an RPC Reply was never * received. NFSD can't know if the client processed * the CB_SEQUENCE operation. Ask the client to send a - * DESTROY_SESSION to recover. + * DESTROY_SESSION to recover, but keep the slot. */ - fallthrough; - case -NFS4ERR_BADSESSION: nfsd4_mark_cb_fault(cb->cb_clp); - ret = false; goto need_restart; case -NFS4ERR_DELAY: cb->cb_seq_status = 1; @@ -1390,14 +1397,6 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback rpc_delay(task, 2 * HZ); return false; - case -NFS4ERR_BADSLOT: - goto retry_nowait; - case -NFS4ERR_SEQ_MISORDERED: - if (session->se_cb_seq_nr[cb->cb_held_slot] != 1) { - session->se_cb_seq_nr[cb->cb_held_slot] = 1; - goto retry_nowait; - } - break; default: nfsd4_mark_cb_fault(cb->cb_clp); } @@ -1405,10 +1404,6 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback nfsd41_cb_release_slot(cb); out: return ret; -retry_nowait: - if (rpc_restart_call_prepare(task)) - ret = false; - goto out; need_restart: if (!test_bit(NFSD4_CLIENT_CB_KILL, &clp->cl_flags)) { trace_nfsd_cb_restart(clp, cb); From patchwork Thu Jan 23 20:25:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 13948625 X-Patchwork-Delegate: cel@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C93A61CBE9D; Thu, 23 Jan 2025 20:25:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663940; cv=none; b=meqz//pXJlmH4m+W72WHLmhmBA/sf3CYxE5hH5yt4mA72RBx6S/iYKphKAbTdRi9mYmtFPCJUOAG5+ItgJdCOLEbbWW7Ym5pZ7yF8xxKiZqQYJfofk19yin3ISCwgFJhL5IkxOz0jVZdI6TSBew67Nr2qbVeoHvT/IW0EZJSz0I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663940; c=relaxed/simple; bh=aSOD5+DAmZZ0xUmUGq54Lf5+/Ud5toy4MmXipvDzm5Q=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HvDmGZShOT4g9LIofWitgGALFlDoY8rsQSotZmgCpKd6jQctCKnyK2DqhWwMNcJfpIa/LKEY3BrBesPF8cq8zztnB3NPXLzyDcUSXiX0Kgeut5XHNAxDkka1FIvhGM3hJB4P7SIYC6vqpuvnuZwUGYTXtk88rVzj+811DlU6/EM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=U1C958ad; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="U1C958ad" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C3EA7C4CEE2; Thu, 23 Jan 2025 20:25:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737663940; bh=aSOD5+DAmZZ0xUmUGq54Lf5+/Ud5toy4MmXipvDzm5Q=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=U1C958adTbgxL7bLBVDARs6R8UB1H+o2UldkNtr3BMYj1mzXM7v/C5HGvKTo8IMNO PNQpUj/z7K/Y4xG8EJ3fJHx/I19TepDJpoCjMpQPtClAn2klJhcSQCShtfBme+mfVq KGEJ+fzd6bKNSL5jm64zxvkyjELIBOoD0squQXSDzWjLaM3Etb3mD/kNM6pdh6kc3/ ZEozSdBeQxBvt8quB5SKtuUqIhNZc4lbeG9ic1uf4xICWYsKBbbFr9OlNtJasyQwrC O1fAIlHzxnzC9a5+t2BbLEmMBNelr5ujeiBU37+yrDc69haxw9twQCnHhL7WJ0jBjc D9zW7hcsbVizA== From: Jeff Layton Date: Thu, 23 Jan 2025 15:25:20 -0500 Subject: [PATCH 3/8] nfsd: when CB_SEQUENCE gets NFS4ERR_DELAY, release the slot Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250123-nfsd-6-14-v1-3-c1137a4fa2ae@kernel.org> References: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> In-Reply-To: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , "J. Bruce Fields" , Kinglong Mee , Trond Myklebust , Anna Schumaker , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1085; i=jlayton@kernel.org; h=from:subject:message-id; bh=aSOD5+DAmZZ0xUmUGq54Lf5+/Ud5toy4MmXipvDzm5Q=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBnkqW8N7ZlMjnpKJ31AvMVqai34j8DE8KSt484G igYEh6a51mJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ5KlvAAKCRAADmhBGVaC FUXHEACrtm5qNLxkL4M0xnuUb/U92RRi9U7auTEGXBRRGwcsxCBNdFfoF6tK/id1uWFng+Il5dJ mcADoxmcDhDd+38uOPek5tiZxdHhozzD8LAwb876w0TMkFSB27nIJWE7J7BZD/Mxf5JAPRYH7cA yHG0CsxrDzSFzfTnueAABGaFOz3T87abf7r3DzXoa1TYzSOCz0AmO7cVUZfoLT8UvRzh6lbbzRC dfO312i8qF8yG2AjE7RUGT2bzarF8AYabjNlEkpIB51xBCEQxFnGD/5nmHpGnWH4zS1beROxb/b UJevkqc4mr3GpYMcpCu3ybBKfXDsZUMiBLip/o9b2NT++aJXvLmpYvL5nU/fw4PV1WL9Lp1SWO6 DzbSwC+E5+P2D33aERxtAteqM0vsUNNsJkgfEOaWJc6XrGgfs50mO3leCS+oulaojDrXIe0rNt6 9i3dr1ytaYkg4+xDzaNl+EaHmxqdPte9M4dLfeHJAAV5DneqXAgg0YqmddsFY7K2r+3yqTapONI Kotp19O9DD9PZ+XIKvvXc+8+8W1E4RutVUOueYeEEGA2ZzcAGZky3V5cvqmYW2pImtFI1IG7fug MYJiVSdoFP7PU31gRDPREgMYYscH6n6G10sxTPaNYl6nRRlOe1Qh5EgG3LS5x3dlrGgbyZ490UQ xUSQh+URXZE9NIA== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 RFC8881, 15.1.1.3 says this about NFS4ERR_DELAY: "For any of a number of reasons, the replier could not process this operation in what was deemed a reasonable time. The client should wait and then try the request with a new slot and sequence value." This is CB_SEQUENCE, but I believe the same rule applies. Release the slot before submitting the delayed RPC. Fixes: 7ba6cad6c88f ("nfsd: New helper nfsd4_cb_sequence_done() for processing more cb errors") Signed-off-by: Jeff Layton --- fs/nfsd/nfs4callback.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index bfc9de1fcb67b4f05ed2f7a28038cd8290809c17..c26ccb9485b95499fc908833a384d741e966a8db 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c @@ -1392,6 +1392,7 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback goto need_restart; case -NFS4ERR_DELAY: cb->cb_seq_status = 1; + nfsd41_cb_release_slot(cb); if (!rpc_restart_call(task)) goto out; From patchwork Thu Jan 23 20:25:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 13948626 X-Patchwork-Delegate: cel@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8AAE71F8F0E; Thu, 23 Jan 2025 20:25:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663942; cv=none; b=PKw1cqHoR6jI1+N0ou6V6Wkz4mGRdBl1gwuuekRKcyU7xsNi3CoKf5Incn9PbP0JuD/8xJQpXvfN86ZHqP4d+nozadSrei13Ngc4jQuiD+ve0tMPCZofONd23k9LD+m7C1kQbjsPf8E1Z8QeRfA/JYbyWsrTlithTIzDxbYm1eo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663942; c=relaxed/simple; bh=DebSb08fG76qmhQ3qTemQVVI8mheHD+q10MhrBLIiro=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kl290rChHQhy4Q7raFsBcqTiX4nF6kSMLcbNmpdu3lRl6J6CIN6/2xzOXGGgy8ImwAk9j8Kw66iGecgqXejDPfUSQ2RtXZHGMQPq6Om6iPi0waKdZQzQ0MX4jMP4PFY4V/DCjEglrwQkpv3blyqTedawXsIME+snCwAq1UQz8I4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=uKwobMj/; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="uKwobMj/" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7FE50C4CED3; Thu, 23 Jan 2025 20:25:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737663942; bh=DebSb08fG76qmhQ3qTemQVVI8mheHD+q10MhrBLIiro=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=uKwobMj/93W9bVbJQMAMKlVwo9EQlY2lfiaC3tIY6YgCFOZcvyKSxcj88PZplbbLl FlCSq1Ltir+yrOwmbZeH8VH6NtBuho+qrMBAYE2jyVsQljWmLvRRgP+B8uaQePFRT5 XXqL+snS6AcHdSISnHuabSxf/szK1yuJ6DPNHNd+faeoUUtmiLUuNNszZnMTdaPBCx cdsn7WF+zWxB66IxuoShnQlZUkUPuWMmxMcYgG3cU3Xl5PRvOwqa3eeMrJsDEG2gjM Q5yiA7yc1nZGJC9DtB20L8VYuwtUkK8RVRwEzXZI8axoalPzrh+NtUPiNqm93pUAFU yNS6BquWEFbnA== From: Jeff Layton Date: Thu, 23 Jan 2025 15:25:21 -0500 Subject: [PATCH 4/8] nfsd: fix default case in nfsd4_cb_sequence_done() Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250123-nfsd-6-14-v1-4-c1137a4fa2ae@kernel.org> References: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> In-Reply-To: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , "J. Bruce Fields" , Kinglong Mee , Trond Myklebust , Anna Schumaker , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=921; i=jlayton@kernel.org; h=from:subject:message-id; bh=DebSb08fG76qmhQ3qTemQVVI8mheHD+q10MhrBLIiro=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBnkqW8pItdisC8f1sI3ny9wi8ta9jOo2I4071Kl gul8d8oGU+JAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ5KlvAAKCRAADmhBGVaC FUbKD/9FZQyT1HyoqD1X+/TpBj9G/7slda3K3mK6SQW6Ss9tREhOmidW5mzpjWrOPh6Jaohuap/ nXffGPNA6O3eaI57DKv3aHZPS0N0+EC7IVcXu4BlDfKgj3Yv6PubUVqdEMvxu0U420X5WMawwZB vCHgicnVL33utQAJifKQim3nmay48VqF9buLW5BDblLcCYot4TDxCs1CQ1MuCCJkAL28YsFQWei jd9tRSKYke1DxGKzCWbHXynb8x0qedRfhv05+pKtwN4ydvBfx2gq9OFocf9QW0Bj2sVuwNbdFEN P8H+b/LPLtz3rHeFoBkfq8sjeITtoA+KKEsfyrDLCZoTYlnZFV9pA7zf8dUGPKUzwiUu7o5N1Sx +7/POAgb5x0nhFv6p+LZIRSn433t6pSnnJ1S2u8zDRx+7+/LwjqhCFQP2NnXs+yk/tizA5zTcII LsdkskPRzlOVzBk04vpfU/mKZi1KASl5fKtKB9UX8IksRbieBSyBbN5aiSqxYk5Syer4tU+6x8p ixJtJ1rZMgoceftDyEql5GNXis/jT/clcv6UQoggIFGasr/OgPOJ3TubeQIOKNOhmBqe0jJXu89 HCQO/Kb7C17h5IDlvpUnITWuMAnRV/TJ3jGpD+sUv+RO9INj6SmjLH2lAUlCgK5hURRsPlGyJOc 1l86GRmJiV2f8jw== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 If the switch hits the default: case, then it's likely that the client sent an unexpected error. In that case, CB_COMPOUND reply processing should stop. Ensure that the function returns false in that case. Fixes: 7ba6cad6c88f ("nfsd: New helper nfsd4_cb_sequence_done() for processing more cb errors") Signed-off-by: Jeff Layton --- fs/nfsd/nfs4callback.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index c26ccb9485b95499fc908833a384d741e966a8db..dcd1c16ca5e6cc1928cae74b89ff4b36912503df 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c @@ -1399,6 +1399,7 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback rpc_delay(task, 2 * HZ); return false; default: + ret = false; nfsd4_mark_cb_fault(cb->cb_clp); } trace_nfsd_cb_free_slot(task, cb); From patchwork Thu Jan 23 20:25:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 13948627 X-Patchwork-Delegate: cel@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5C55D1CCEED; Thu, 23 Jan 2025 20:25:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663944; cv=none; b=ZVqHhV+K7okLCRk1G71R5NelPBoncHumApEtFVd4ZhgDG/hmUAkufRJL05YpjEy3u2Od1jRNaMCKWlSFfeQD2WpuKDw4ALevJE+PdVU26hk0Kox+gpDfVGsy+NzWROIQX54IzjoMugCSeQitJFex5Gb0hD3mBnrIFC8LM2mxyd8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663944; c=relaxed/simple; bh=8jE8AV+5NZQfqaq9QWaFF6/enwy/4N/euWyTI3i5WO0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=t2/LmVDxjIcyZOd7mXoVQLqhv6URfgcizIM06TgamImWsclpF9r7bKzIo8EzhGZp3ZaLPswnj+yBMXVH+VTx69TOK7CD7xQTQszA4PvNkLlvMJcCUKj890IgtSg3NdqhbH8BJEH3zJjBsKbeUMa/FVB/mdaT+2OnMsOjY2qxtpY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=RmQvZ/1r; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="RmQvZ/1r" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3D368C4CEE3; Thu, 23 Jan 2025 20:25:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737663943; bh=8jE8AV+5NZQfqaq9QWaFF6/enwy/4N/euWyTI3i5WO0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=RmQvZ/1riq0hIcj2WRuuWY475X8JdbK9cl8TPTjt7HOMIY+Fy794JNokztZ7YRiYS k8Y7rTYfc1Y2oNtRDh9itw79pty8DZje4squzNbniwnCEXFL4Rb9gqq/jP1ilSgH5c EIC+PxHwEjnFoFm/nD/kjfDq+Wf3i8SJlF5VHNBu39E6CZCWwzXOOL28XCpur98iX1 nfaATVtUwEhqExOsUK7mnD9ahBqw6X5Js02ESO9BF4AX6yv2NSm0IdZz8ZUNJMI3NR FiGKPwBR9cVpYc+CAEh0vQU62PD/ULFG3y/Hqd78yL+nrJvtkgiWqOK7sHTe/BPr5/ MQGVS581s2ErA== From: Jeff Layton Date: Thu, 23 Jan 2025 15:25:22 -0500 Subject: [PATCH 5/8] nfsd: reverse default of "ret" variable in nfsd4_cb_sequence_done() Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250123-nfsd-6-14-v1-5-c1137a4fa2ae@kernel.org> References: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> In-Reply-To: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , "J. Bruce Fields" , Kinglong Mee , Trond Myklebust , Anna Schumaker , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1602; i=jlayton@kernel.org; h=from:subject:message-id; bh=8jE8AV+5NZQfqaq9QWaFF6/enwy/4N/euWyTI3i5WO0=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBnkqW8n/QS7u6slO3VkLC01yGiqSgaUr798KUml RAIUKrL9EqJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ5KlvAAKCRAADmhBGVaC FQ4wD/0R6HsSEh2umD60HSYqVcjvTzxEcdVXkzCxyU4HqOqelezMh7O8TN8ScU8mOUvSQ+0+d6e 97JHPijsa+sJkDJqa64R3gdFomorrc3cz565GXUaQxdsn8kOMSUdYVaCIvfwruf22WU4Jk/VbpE Wm4bpyxYeHqwfutlAMh1oVUKKQQjrTv7319yIL7h8sGQlyLt2CoQzpyXFMxgeSTfaygpTezuy2F EfR5dfWuvECI97HmfOVQFqLabzvVhMmO1ZIrwR3+Nx1vpki504Rp7a45fA9aCk8Qw4KdwirtRBQ 5R0tLK8+DSEjPHBTDGLesRpVl6W5C9GB1PaHi/Fjn8JO8mWtsWMcCs2eokd2KsOqhFCOLNon499 p1046wCyfe/6c0tLNol8BaLiekr8+sFjNK6PHg38zOcCS7buIxb/5l2k0a8TjxL2wl74YKkg2fL czQBnWohYMI8RwsuVQ3c3Afju7Qt0VVO9QxzjDlIKfJA6VHo8TI416pKOC4sDRGK1W7GXimU0pN JrksIpHpxyoVAU/2KAfw/luTAGc6RSoXgxLszCb7wTCscvP1ZW7wwkHtgUjEuwoNXf+fSMtJ3Pb aOLyEqMONb7fGm8ZFNt5lu3gAfWFKhauPsyNUppuPEaCf0mn4WpcOQz8xcDMqeaAWqmMA3KcQuJ a/6mSwFGukdwHRQ== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 Currently it's set to true and which must be overridden in each error case. The only time that it should return true however is if the client returned 0. Change it to default to false, and only set it to true if the CB_SEQUENCE request succeeded. Signed-off-by: Jeff Layton --- fs/nfsd/nfs4callback.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index dcd1c16ca5e6cc1928cae74b89ff4b36912503df..258bda1193f664f048e7b802082c8307b0a88821 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c @@ -1332,7 +1332,7 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback { struct nfs4_client *clp = cb->cb_clp; struct nfsd4_session *session = clp->cl_cb_session; - bool ret = true; + bool ret = false; if (!clp->cl_minorversion) { /* @@ -1365,11 +1365,11 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback * (sequence ID, cached reply) MUST NOT change. */ ++session->se_cb_seq_nr[cb->cb_held_slot]; + ret = true; break; case -ESERVERFAULT: ++session->se_cb_seq_nr[cb->cb_held_slot]; nfsd4_mark_cb_fault(cb->cb_clp); - ret = false; break; case -NFS4ERR_BADSESSION: case -NFS4ERR_BADSLOT: @@ -1399,7 +1399,6 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback rpc_delay(task, 2 * HZ); return false; default: - ret = false; nfsd4_mark_cb_fault(cb->cb_clp); } trace_nfsd_cb_free_slot(task, cb); From patchwork Thu Jan 23 20:25:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 13948628 X-Patchwork-Delegate: cel@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0AB2F1F8F0B; Thu, 23 Jan 2025 20:25:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663946; cv=none; b=i0syrGGv82R6gC3dyLSuMQyt7dnaBbNnHk/xGexsR90ym+xx5MbB4Frxe3T77ddUDTHfX8UJl905tymWGZeWYmRx7epGzSux8Z2qo4qB4YFgx9tfFAbbWN8Tjfx/IEt5lcaY9bHCpvfz2/wzixUJ2OOWdWJeomNW9m769TXm++I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663946; c=relaxed/simple; bh=ockLZn4Wj4+UFq2I+PBHFVIp8J4MqrK3CVytoiuF8Y8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fLKn05iQkgHUcMZMUYDLz3oSOakiDRGsHnuPjz0iu/oKkyE9tAy31eTpYlnLf2WZLLud8ArGMwq2uz/anN0YM3eKNCdQwrCVXklN02zG6pErbVFscwwNQMid99yOv6OFk+lAcWww6tLfHecyXC7nrpAAAXL3WQX5tInsWqISLFw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rVk5dzX5; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rVk5dzX5" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F01CCC4CEDF; Thu, 23 Jan 2025 20:25:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737663945; bh=ockLZn4Wj4+UFq2I+PBHFVIp8J4MqrK3CVytoiuF8Y8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=rVk5dzX5e6Vv6NWPtfV07JNLfA+qTOzFhAYg+17peTOKSGcPB21GiMY3Hi+QMAtJM Atd/WzJ5AKh/5JLqCdpmgMXXdqPTWWc5923zHaYfYLesbCsOLK8vyC25vq4Ky751Qb wzKUIB0sgLKA0qQ4Dzho7IaAH02zrvCePfSEL+LaLNQqCUXKNh2DiE9sYot9NIHAWz 2regnVnIskxQoP9fRFdhAtsmBlo4GF0EJUOv080BTvXxp5Ah5rx5KOlYhXkcX5UQGO NsrWKdw3YfdnQgIoed1ExfoMRlxti/mShjCv2MYbMuZUBQhCHvaH6YM/wRMYRLB0DQ x2rh/CDD5JyXw== From: Jeff Layton Date: Thu, 23 Jan 2025 15:25:23 -0500 Subject: [PATCH 6/8] nfsd: remove unneeded forward declaration of nfsd4_mark_cb_fault() Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250123-nfsd-6-14-v1-6-c1137a4fa2ae@kernel.org> References: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> In-Reply-To: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , "J. Bruce Fields" , Kinglong Mee , Trond Myklebust , Anna Schumaker , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=613; i=jlayton@kernel.org; h=from:subject:message-id; bh=ockLZn4Wj4+UFq2I+PBHFVIp8J4MqrK3CVytoiuF8Y8=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBnkqW8JZNgIpglrhCfR1LpiucFHu7heTgCchFWk h7NuY8/+oWJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ5KlvAAKCRAADmhBGVaC FSyND/oCc/L4dmJgktRBlXU2+vAc4l6UVJ0K7GoQV5duROMaf8eG0Rp3BtzvoM1hIa86/1fi7nZ zaEumT7oWDZtKLA4bcpvTMJt37M3Up+x/gzjKwdXcyxJU7p4CJQck43kGEVBwX6u3xMPQVHNoIf c2mKLK0YYkRgGIlkNQ+HHRLCs1PWd3QCgoOYelbdlbFxm61+uTAiDUk7h831TId+Rw0tw6wsvIH rVe67+X91NVCWHnDurD1v2k90nYer1MJX6nDW1XTNzjit8yh2qRiEQCak6sKoi0kAVno6SqDNFq eB5K29zN3rgf32GRPiRdCD6lsQ/rnLCdiUMpJHXIybgiKHaFr1AdqPR0uGtfckgaGRrD+HrPjbQ egA26l7V+NerEh53l8F1QgJkk0q+xR+3BJ1J1AwNM36LGwm3JNhye6uH9y4K93I0C+1H6aAoJaY AceM/Bi/a2Qt4vpM2ujQ/fQCuVDHdVAPwOpsCET3JA7LHADkg8VpAQ5BpWDDryLeBO/9Y6w2IN2 eqg3p+H1bKRKZqTbVpTUL+5fprO4tYesLT6cpat00g79m2Sc2gyaDuRSZB3EO6IntcLeFdc+3iH ujswKmQ5vhWsEYEUy0aa8HJfaFEWMEBEIYC5bEGMFBhJHJCL2klx34UedaWbxIz7MFG6D2r0gbP zcXVCLY6oRP3bTw== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 This isn't needed. Signed-off-by: Jeff Layton --- fs/nfsd/nfs4callback.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index 258bda1193f664f048e7b802082c8307b0a88821..6e0561f3b21bd850b0387b5af7084eb05e818231 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c @@ -45,9 +45,6 @@ #include "nfs4xdr_gen.h" #define NFSDDBG_FACILITY NFSDDBG_PROC - -static void nfsd4_mark_cb_fault(struct nfs4_client *clp); - #define NFSPROC4_CB_NULL 0 #define NFSPROC4_CB_COMPOUND 1 From patchwork Thu Jan 23 20:25:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 13948629 X-Patchwork-Delegate: cel@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 544F31F9EAC; Thu, 23 Jan 2025 20:25:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663947; cv=none; b=Mul8241SL9sGD9OlcK++TmnygeFvPysIJddDV04T4RwT6GS2WdSoBkh9MXrwFP77sY0xsxb6m9q5sUYkyZ2y9okZvDpFicaaHCJBq98ceCnyy2JynkYRDTSIvqee83f6h6QRLJ09e6GivLHjlKmaQ48forZOnckLrvJkxEiqaxQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663947; c=relaxed/simple; bh=L42t08mjn20pee3dPxCsNjyhHPEky62Fm5bLw0f8pw8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RuBF1pff6IiVuCnQ7SDqB9Di+lCX1JGwyuXW3N95iZVZJLDb/P9/Fas6/7bmV8ILjEg0w3H2IdW6Shl46iSKWRwqLirSIMVLqGu3Od0WaqGptpPre9UMTArC+a9QSu0+LxqIjsp3Tu0qeKi6s6Ifwh6J2naXsY9dQh8GsICKERU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=NW+4/JoM; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="NW+4/JoM" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AE834C4CEE4; Thu, 23 Jan 2025 20:25:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737663947; bh=L42t08mjn20pee3dPxCsNjyhHPEky62Fm5bLw0f8pw8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=NW+4/JoMhJYuOVpJ1gG7ecG6lq5A4GMNGkWBVO9CHBa3VuetJGs0NthYY26bfQeI8 JFdTVDGVlLaPhGXOWE1kXwHFU0Rv0FuV5BhRdD8qWyL8QMBfBXlVnUYQtkpAu0W/q6 SrS9TPncXcP1PNGjaw6dnTZihyIJrRnsdj8Tf7in5PTxvs9epRX6Af6wxh9la9U1Gs EtTY7KSao0fBlKgTRcjCBGXPF2+eNR+E1buFrrzAN7ocox8srbwcRMvrhbNMMScsOu LAlxBfDSDhAFqQRYlDXEwbC3diSJA8gor1oqpsqKCdaYBodmnWaJQKkGv6aV4lmny5 aPCB4tJn4/3DA== From: Jeff Layton Date: Thu, 23 Jan 2025 15:25:24 -0500 Subject: [PATCH 7/8] nfsd: clean up and amend comments around nfsd4_cb_sequence_done() Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250123-nfsd-6-14-v1-7-c1137a4fa2ae@kernel.org> References: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> In-Reply-To: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , "J. Bruce Fields" , Kinglong Mee , Trond Myklebust , Anna Schumaker , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2599; i=jlayton@kernel.org; h=from:subject:message-id; bh=L42t08mjn20pee3dPxCsNjyhHPEky62Fm5bLw0f8pw8=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBnkqW97ch4EIfMPIWPHYwo9+XRwPEOpBtcOFHMC aiq6tt/MDaJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ5KlvQAKCRAADmhBGVaC FbCxD/oD6TyqjLjjmp1dy/Zdle9sERHY4w44HN2rF8GY4N9K8a/2s922sphRsRFJz1Jn8WgO5HP jZo5b1VG4UTGRFlM8U94vArPxMGttFUX21057GClts5c2+EQZYFjoc4aVvumdORTUO/Bi/2eSEB T/AHZQMJZjfjWWHlXIPJsuE9b1x/C396mIMoi4oM0j8cdalw3SbPWHD1mHK5P62W4crT5wJzKNp ZjmP/eiqNeQQZY4HNEpxDyUVDU8jnbd7NCKJ+i4AOs1Ef5zApwng71yisElSlwB1P7RdPMvTfcu 80m7KPPhuxqDOzZfuZ5vMdQ1x+Te8wc/wpfIEaaX9njfjwfriDZuJe2D1m7Y89YUHt/E630faKA +1h67uWjdGEGKVON8N8QS/Jky+O7g1s63gXlzBaVWCn6Ls7aAUhTwHyYjyiFUV9TMJPQeqiTp2W k0vTsy7MV4EuI0sKCgcZpK8q/2WhlArUcuY1V6h4F669ah6hXkl/t3gAOkFnsdGFOlwOk7MFfYM P63ZnVxDfQ+i2MKU8K/DA0kzyJdcBkOZF9XZMcN2AgGu+FGvT4gt2Q1WETR/ebC45Wj3NISq5Bv Cy38NL+/0EUwHHVwVf7VI4Ov5ceSYJmBSymbpemv0OVQ/OhwAsCm21dxDnNfrozn/YiWs6NN9IW uxO1jwxAaRhtx3w== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 Add a new kerneldoc header, and clean up the comments a bit. Signed-off-by: Jeff Layton --- fs/nfsd/nfs4callback.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index 6e0561f3b21bd850b0387b5af7084eb05e818231..415fc8aae0f47c36f00b2384805c7a996fb1feb0 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c @@ -1325,6 +1325,17 @@ static void nfsd4_cb_prepare(struct rpc_task *task, void *calldata) rpc_call_start(task); } +/** + * nfsd4_cb_sequence_done - process the result of a CB_SEQUENCE + * @task: rpc_task + * @cb: nfsd4_callback for this call + * + * For minorversion 0, there is no CB_SEQUENCE. Only restart the call + * if the callback RPC client was killed. For v4.1+ the error handling + * is more sophisticated. + * + * Returns true if reply processing should continue. + */ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback *cb) { struct nfs4_client *clp = cb->cb_clp; @@ -1334,11 +1345,11 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback if (!clp->cl_minorversion) { /* * If the backchannel connection was shut down while this - * task was queued, we need to resubmit it after setting up - * a new backchannel connection. + * task was queued, resubmit it after setting up a new + * backchannel connection. * - * Note that if we lost our callback connection permanently - * the submission code will error out, so we don't need to + * Note that if the callback connection is permanently lost, + * the submission code will error out. There is no need to * handle that case here. */ if (RPC_SIGNALLED(task)) @@ -1355,8 +1366,6 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback switch (cb->cb_seq_status) { case 0: /* - * No need for lock, access serialized in nfsd4_cb_prepare - * * RFC5661 20.9.3 * If CB_SEQUENCE returns an error, then the state of the slot * (sequence ID, cached reply) MUST NOT change. @@ -1365,6 +1374,11 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback ret = true; break; case -ESERVERFAULT: + /* + * Client returned NFS4_OK, but decoding failed. Mark the + * backchannel as faulty, but don't retransmit since the + * call was successful. + */ ++session->se_cb_seq_nr[cb->cb_held_slot]; nfsd4_mark_cb_fault(cb->cb_clp); break; From patchwork Thu Jan 23 20:25:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 13948630 X-Patchwork-Delegate: cel@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 731031F9EB0; Thu, 23 Jan 2025 20:25:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663949; cv=none; b=U7c94jpuu0mdK5ch6FqZ7A7bE9iCFIg9977frjy0p7ZghVwnN1oCfVIz+CVoRMvCrdF8HJzWQdHsCrM4+GV2hUyOD9XG7z0hPpjOYkYSstsQs/Hdh6J8m6zIE83YT5mRYmas+/QxvLMDfdn46a4EQGyZVvsJNV+S+KFp/wnLPf0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737663949; c=relaxed/simple; bh=Qnukw/y6SmhC6BP978MjrTw53VXu6P0IVIZTvDDS2dk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=duk6h96A2xCKxY1ZTfdXZPO1mslIy7CYQP1Ed5ops6appw5pTpu4a9xwwdM7KLiLsxwRzyCMWtcmiyNGjYxljOjNcwubX/yICCTyFYIgCfdQjc4nqRRnvC+5zHsU0OGxeRYHikpY5OBBdJO7sRFDurrIoDx1xVdCTwgKpHeblTI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=t5ks7UsZ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="t5ks7UsZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6C2F8C4CED3; Thu, 23 Jan 2025 20:25:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737663948; bh=Qnukw/y6SmhC6BP978MjrTw53VXu6P0IVIZTvDDS2dk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=t5ks7UsZ19jOQIdn9Q2LnJqeNS7Ip0Jt878uSDGo6ykQbpu4CqaqHocW2eeO9nvM8 nUBZawOKTMrO2n6OMTHGmE+FpoxwlWz3/qHzo3Tzsd47tIPxynRtXog7FpEBjtWgLy fe8y8cNQ0jKB23Yk6/hy8uYCFeDbr2qn0HFfqYJybu6ZWuLP8AIOZRWUCe+8gY7QOa NX1sldoZ9yY5IuVTMuzIxhbYT/tjKtytXOiBdJtnaWaEOdguK4Hb4dv7JRXg8SoNLg rybBDy7nAnEAn0A5uWKtTd4Z1nuF7eHwqG7mHVKmgYNhMjUlaNuLlxkPjUR3NjLAIQ Zx3VAjmrOXqBw== From: Jeff Layton Date: Thu, 23 Jan 2025 15:25:25 -0500 Subject: [PATCH 8/8] sunrpc: make rpc_restart_call() and rpc_restart_call_prepare() void return Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250123-nfsd-6-14-v1-8-c1137a4fa2ae@kernel.org> References: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> In-Reply-To: <20250123-nfsd-6-14-v1-0-c1137a4fa2ae@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , "J. Bruce Fields" , Kinglong Mee , Trond Myklebust , Anna Schumaker , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3777; i=jlayton@kernel.org; h=from:subject:message-id; bh=Qnukw/y6SmhC6BP978MjrTw53VXu6P0IVIZTvDDS2dk=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBnkqW97m4QSygqMJ5dDLdJRaEWVrK06Onf+Zhd8 tFg4whoxumJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ5KlvQAKCRAADmhBGVaC FYpQEACGlDfgXBIUvtsMSc/clx3k3QWIpZ6+GIpeGKjMEgLJDjqgU8esUFM7ZA2T5knnKR3UTIc UvH5dPHr/QryGH32tTqt4DrtjB7dnrL/UrV8N9mU5hAtiB8oboxN3LTAAyD0kQEc+SeIT3arhKO /tMd4XT17unRR4vxQjgqh+2lkmfFO+3WKiUn/SUpftKn4ZoimUJRRzAgmfjbHfzCMSRlTE262nJ KkBVOWroNTU2EhAga8HYIeahYarrpjzdb1KlSqhVgT2SC/PjE1pdFyKiH8+QisJeYO59SFfz1vV K8Ni6U44MlOunHjaRXslC6N+1f9EwSq5Jd+jcKEEDW+31zXgH7e+MykFe0gk0HPS6Fc0zq5gLHI UM9mAWtf26Pf4/iaVcE4syKGASWG5D9mGgBJJKeoYUO7ShlAen6Ca6xtPPO2pvlxziXQYXODD1i DvdL4XHN5H3nGHlOWljhAF+GqOBXQrqpPKD0s9S1uTu2ORIayuOCYvt2z0TMeWoLxpA1EaT1iwy NxJy6sFxNQo0xJA1m27vGRe4WA6CxCQQ6SHFhdOxTCINNtHHUxwM+dBz4XpyrK1Cdmqcv9ZqYmp APFt5k/RBpiDR/BCsDXIR5F3INoOn16bpktuoJUuqtiXUT4qsBPnr5yoqtpuUWObR1GT53ZsxXa FlMiys1e5JphwYA== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 These functions always return 1. Make them void return and fix up the places that check the return code. Signed-off-by: Jeff Layton --- fs/nfs/nfs4proc.c | 12 +++++------- fs/nfsd/nfs4callback.c | 5 +---- include/linux/sunrpc/clnt.h | 4 ++-- net/sunrpc/clnt.c | 7 +++---- 4 files changed, 11 insertions(+), 17 deletions(-) diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 405f17e6e0b45b26cebae06c5bbe932895af9a56..cda20bfeca56db1ef8c51e524d08908b93bfeba6 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -968,15 +968,13 @@ static int nfs41_sequence_process(struct rpc_task *task, retry_new_seq: ++slot->seq_nr; retry_nowait: - if (rpc_restart_call_prepare(task)) { - nfs41_sequence_free_slot(res); - task->tk_status = 0; - ret = 0; - } + rpc_restart_call_prepare(task); + nfs41_sequence_free_slot(res); + task->tk_status = 0; + ret = 0; goto out; out_retry: - if (!rpc_restart_call(task)) - goto out; + rpc_restart_call(task); rpc_delay(task, NFS4_POLL_RETRY_MAX); return 0; } diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index 415fc8aae0f47c36f00b2384805c7a996fb1feb0..fa8049d031f7dd15dfb901263ae1bf7aa2f2dd41 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c @@ -1404,9 +1404,7 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback case -NFS4ERR_DELAY: cb->cb_seq_status = 1; nfsd41_cb_release_slot(cb); - if (!rpc_restart_call(task)) - goto out; - + rpc_restart_call(task); rpc_delay(task, 2 * HZ); return false; default: @@ -1414,7 +1412,6 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback } trace_nfsd_cb_free_slot(task, cb); nfsd41_cb_release_slot(cb); -out: return ret; need_restart: if (!test_bit(NFSD4_CLIENT_CB_KILL, &clp->cl_flags)) { diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h index 5321585c778fcc1fef0e0420cb481786c02a7aac..e56f15c97fa24c735090c21c51ef312bfd877cfd 100644 --- a/include/linux/sunrpc/clnt.h +++ b/include/linux/sunrpc/clnt.h @@ -213,8 +213,8 @@ int rpc_call_sync(struct rpc_clnt *clnt, const struct rpc_message *msg, int flags); struct rpc_task *rpc_call_null(struct rpc_clnt *clnt, struct rpc_cred *cred, int flags); -int rpc_restart_call_prepare(struct rpc_task *); -int rpc_restart_call(struct rpc_task *); +void rpc_restart_call_prepare(struct rpc_task *task); +void rpc_restart_call(struct rpc_task *task); void rpc_setbufsize(struct rpc_clnt *, unsigned int, unsigned int); struct net * rpc_net_ns(struct rpc_clnt *); size_t rpc_max_payload(struct rpc_clnt *); diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index 0090162ee8c350568c91f1bcd951675ac3ae141c..3d2989120599ccee32e8827b1790d4be7d7a565a 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -1670,20 +1670,19 @@ void rpc_force_rebind(struct rpc_clnt *clnt) } EXPORT_SYMBOL_GPL(rpc_force_rebind); -static int +static void __rpc_restart_call(struct rpc_task *task, void (*action)(struct rpc_task *)) { task->tk_status = 0; task->tk_rpc_status = 0; task->tk_action = action; - return 1; } /* * Restart an (async) RPC call. Usually called from within the * exit handler. */ -int +void rpc_restart_call(struct rpc_task *task) { return __rpc_restart_call(task, call_start); @@ -1694,7 +1693,7 @@ EXPORT_SYMBOL_GPL(rpc_restart_call); * Restart an (async) RPC call from the call_prepare state. * Usually called from within the exit handler. */ -int +void rpc_restart_call_prepare(struct rpc_task *task) { if (task->tk_ops->rpc_call_prepare != NULL)