From nobody Sat Jul 4 20:00:20 2026 Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 25FAE12B94 for ; Sat, 4 Jul 2026 16:42:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783183350; cv=none; b=gnZAuSDg2D/CuQ/VGer8s+qXSSYt17n6EnnsNIn5rc21iSctHXWkW0Rvq1EcpFhx4eYH9Adso++ytooxIBGk4LaHiNbJFc8NXNiHmfsgZJy5g85SqfbWS2OQpehA4pVcrQeMFhSmdUuDz11Jxt+XuxJ/M8C3Sh144ZBUZagaSv4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783183350; c=relaxed/simple; bh=3DH3J6Rf9zeKLeuVKNgSsOratKRnhRIkPjLU6KuYHUM=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=NxxeoiPspNJyIWsZ4JbeJCYzAju70T8pOofqjuZUe3ikvXLZ9jjagkgT2l3CFx/U4g1HfMsNb+fw268XPaLkBkhFkPJ5rjs2dYU/gfkzy+n2zo2MWzFtiiaEaVe/1qoMEVS45Uv3Y4ytbHfn5z5l+RWAWpIIPd9kGWS6aGsiLXE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=TBPsWm5W; arc=none smtp.client-ip=209.85.216.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="TBPsWm5W" Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-37f816d01e3so1702094a91.2 for ; Sat, 04 Jul 2026 09:42:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783183347; x=1783788147; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=wXfPC98kSxxFae2WuA2+su+R30KB2XgLe0qUBfwtF10=; b=TBPsWm5W4rCxzmauLB83CsllrqSUjOGaU9Imk3NHSBgMavF3kiNK2edgxGo7pLgp/7 SY1zQdY4lYpzmZuu1w783XM2YxbV/Q8TJOJ8UBs299c3+SigLNTJ/MgAgsadbSg4PLj/ ODhUP7zEnJqclLEpICRgksIVuhGUgI3IbRFejwsZnajijKHxUMIod1GFSSdJZUxDYtcv xP5GtGqW09PDpxa9NXzJ9siG1mKjp4ZCpgf56nCFZbf0l5d1YR3UwxrVdhge2tSm3h3c mvK5tRSzw3AxGHXioummkXVbsqrm8aLzY4ErLdWnRYrM98t4Hd3mYFtZirP7JnNhnYsT /4iA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783183347; x=1783788147; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=wXfPC98kSxxFae2WuA2+su+R30KB2XgLe0qUBfwtF10=; b=N/3Hqg/+7ASseDW+cJmv9wUmMZJhag1AWY6JpVFf5JkQsWxHNHttF+RrL9PkuxMljg 2wyOuL7RS+3HtnPqCkpT1H41vjMNy+8WUOkQsfiGEcQTCXINNtvmeEq6zI79BnsGmZTj lKPclotD3ZS/NR1+TfUqGK0vhdgL74qVWtRXe/rRvCAXDHwYZ78884sMSd1eKojFq5TR PAINXWRnayaEIAm1JeY89FtppPq+uPDJumBYuLm3sZdJltgHSGJ2stKD/nwLMu57qaCO IN+Kn8rKwI3gX0VaSYovt0J4IkL4DzKR+V6e4eK3iNT1pB0Wdomf4FqG+DOVhnv6Pu3Z fD7g== X-Forwarded-Encrypted: i=1; AHgh+RqCKlUFhiz8ioz+vS4/S+dXVOsYp8j2jhF7nNIdu/1ydsBRTEWoXP0vnKZrRhIsPF7v/wueewgXx5uCYtQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzNAOarnEIC/NNcMFnk8ldZGAeS4ObSBw8qV0GtxvF2Fnr0Dhi8 5R7URsNaqHUGTlgxc4QnSGaEzWw87jwzvED+KwyQFGaHR0rmOOM10DWm X-Gm-Gg: AfdE7ckWgQOL8CWdi+A4mGynMSgowlWzaKBpGqYIdnCdPEckJ5hSZy+gGAby2C40FCh i3Kdb70OAtOYkuxkMbNYE0GCMybKCgxz813KzdjOch5Lq1OJpRId7nPOSOH97TCGcR30evBM/Fs s6C1TrD9aEr3TktA6QGVMpxwwnkhdgYpg+BoiZDX9jtvGsS8uagWSeFqPMJDowph6d1x5iToWQh ARP/mY4V/a/ilDjjNiuWEBtjgLC5jj2klL6Tet3SQFUFKd9cOywJlcPsF03Tj9z70cvVX7NbHk/ AoQcFqa28RfEeNauRhHrSzq4EFs3wNNar8iqckLi+ezFxjzqiixnnl3eFBSOhRwUSuto8W/7qM1 p59DE1xlzBGu9nAyNptbu88T6AQ5sqXT8aYCyVS09eoAQqn4ReLUVUrd6SK++0neV9cnPsBBFow HGQ3U= X-Received: by 2002:a17:90b:4b05:b0:36a:fcf5:64bd with SMTP id 98e67ed59e1d1-382807a9d55mr3783720a91.2.1783183347450; Sat, 04 Jul 2026 09:42:27 -0700 (PDT) Received: from lgs.. ([152.32.214.178]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-38127ccd661sm2606832a91.15.2026.07.04.09.42.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Jul 2026 09:42:27 -0700 (PDT) From: Guangshuo Li To: Trond Myklebust , Anna Schumaker , linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Guangshuo Li Subject: [PATCH] NFS: Fix delayed delegation return list handling Date: Sun, 5 Jul 2026 00:42:17 +0800 Message-ID: <20260704164217.228078-1-lgs201920130244@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The delayed delegation return handling added a separate delegations_delayed list to keep delegations whose return needs to be retried later. The delayed list is then spliced back to delegations_return by nfs_server_clear_delayed_delegations(), which also causes the state manager to retry the delegation return. However, nfs_end_delegation_return() still moves delayed delegations to delegations_return instead of delegations_delayed. As a result, the new delayed list is never populated, nfs_server_clear_delayed_delegations() always returns false, and NFS4CLNT_DELEGRETURN is not set again to drive a retry. Move delayed delegations to delegations_delayed so that the delayed return path can splice them back to delegations_return and schedule the retry as intended. Fixes: 4039fbedcbcb ("NFS: fix delayed delegation return handling") Signed-off-by: Guangshuo Li --- fs/nfs/delegation.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c index 9546d2195c25..f65e0930ac9d 100644 --- a/fs/nfs/delegation.c +++ b/fs/nfs/delegation.c @@ -594,7 +594,7 @@ static int nfs_end_delegation_return(struct inode *inod= e, spin_lock(&server->delegations_lock); if (list_empty(&delegation->entry)) refcount_inc(&delegation->refcount); - list_move_tail(&delegation->entry, &server->delegations_return); + list_move_tail(&delegation->entry, &server->delegations_delayed); spin_unlock(&server->delegations_lock); set_bit(NFS4CLNT_DELEGRETURN_DELAYED, &server->nfs_client->cl_state); abort: --=20 2.43.0