Re: [PATCH v2 08/21] nfsd: remove premature NFS4_OO_CONFIRMED in CLAIM_PREVIOUS path
From: Jeff Layton
Date: Fri Jun 12 2026 - 09:41:41 EST
On Thu, 2026-06-11 at 16:00 -0400, Jeff Layton wrote:
> nfsd4_open() sets NFS4_OO_CONFIRMED on the openowner before calling
> do_open_fhandle(), which can fail. If it fails, the openowner stays
> permanently confirmed despite the OPEN failing. The correct
> success-path setter already exists in init_open_stateid().
>
> Remove the premature setter. NFSv4.1+ is unaffected as sessions
> always confirm at creation time.
>
> Fixes: a525825df152 ("[PATCH] nfsd4: handle replays of failed open reclaims")
> Assisted-by: Claude:claude-opus-4-8
> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
> ---
> fs/nfsd/nfs4proc.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c
> index 69fee481581d..4fe46996c8ed 100644
> --- a/fs/nfsd/nfs4proc.c
> +++ b/fs/nfsd/nfs4proc.c
> @@ -643,7 +643,6 @@ nfsd4_open(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
> status = nfs4_check_open_reclaim(cstate->clp);
> if (status)
> goto out;
> - open->op_openowner->oo_flags |= NFS4_OO_CONFIRMED;
> reclaim = true;
> fallthrough;
> case NFS4_OPEN_CLAIM_FH:
My apologies. I meant to drop this one from the series yesterday.
--
Jeff Layton <jlayton@xxxxxxxxxx>