Skip to content

Commit 80c8afd

Browse files
jtlaytonbrauner
authored andcommitted
nfsd: allow DELEGRETURN on directories
As Trond pointed out: "...provided that the presented stateid is actually valid, it is also sufficient to uniquely identify the file to which it is associated (see RFC8881 Section 8.2.4), so the filehandle should be considered mostly irrelevant for operations like DELEGRETURN." Don't ask fh_verify to filter on file type. Reviewed-by: Chuck Lever <chuck.lever@oracle.com> Reviewed-by: NeilBrown <neil@brown.name> Signed-off-by: Jeff Layton <jlayton@kernel.org> Link: https://patch.msgid.link/20251111-dir-deleg-ro-v6-15-52f3feebb2f2@kernel.org Signed-off-by: Christian Brauner <brauner@kernel.org>
1 parent 544a0ee commit 80c8afd

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

fs/nfsd/nfs4state.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7828,7 +7828,8 @@ nfsd4_delegreturn(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
78287828
__be32 status;
78297829
struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id);
78307830

7831-
if ((status = fh_verify(rqstp, &cstate->current_fh, S_IFREG, 0)))
7831+
status = fh_verify(rqstp, &cstate->current_fh, 0, 0);
7832+
if (status)
78327833
return status;
78337834

78347835
status = nfsd4_lookup_stateid(cstate, stateid, SC_TYPE_DELEG, SC_STATUS_REVOKED, &s, nn);

0 commit comments

Comments
 (0)