aboutsummaryrefslogtreecommitdiff
path: root/sys/fs/nfsserver/nfs_nfsdserv.c
diff options
context:
space:
mode:
authorRick Macklem <rmacklem@FreeBSD.org>2024-04-25 16:41:23 +0000
committerRick Macklem <rmacklem@FreeBSD.org>2024-04-25 16:41:23 +0000
commit54c3aa02e926268ba5551cd7d28fddf38b3589a2 (patch)
tree4f8398cffe46fbb985baac1918380451c83185af /sys/fs/nfsserver/nfs_nfsdserv.c
parent514773a5486d1fa4f2d5acb5af1766965c20765b (diff)
downloadsrc-54c3aa02e926268ba5551cd7d28fddf38b3589a2.tar.gz
src-54c3aa02e926268ba5551cd7d28fddf38b3589a2.zip
Diffstat (limited to 'sys/fs/nfsserver/nfs_nfsdserv.c')
-rw-r--r--sys/fs/nfsserver/nfs_nfsdserv.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c
index 899e88508b60..8141ee6cbdb6 100644
--- a/sys/fs/nfsserver/nfs_nfsdserv.c
+++ b/sys/fs/nfsserver/nfs_nfsdserv.c
@@ -3003,18 +3003,12 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram,
*/
NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED);
claim = fxdr_unsigned(int, *tl);
- if (claim == NFSV4OPEN_CLAIMDELEGATECUR) {
+ if (claim == NFSV4OPEN_CLAIMDELEGATECUR || claim ==
+ NFSV4OPEN_CLAIMDELEGATECURFH) {
NFSM_DISSECT(tl, u_int32_t *, NFSX_STATEID);
stateid.seqid = fxdr_unsigned(u_int32_t, *tl++);
NFSBCOPY((caddr_t)tl,(caddr_t)stateid.other,NFSX_STATEIDOTHER);
stp->ls_flags |= NFSLCK_DELEGCUR;
- } else if (claim == NFSV4OPEN_CLAIMDELEGATECURFH) {
- /* Fill in most of the stateid from the clientid. */
- stateid.seqid = 0;
- stateid.other[0] = clientid.lval[0];
- stateid.other[1] = clientid.lval[1];
- stateid.other[2] = 0;
- stp->ls_flags |= NFSLCK_DELEGCUR;
} else if (claim == NFSV4OPEN_CLAIMDELEGATEPREV || claim ==
NFSV4OPEN_CLAIMDELEGATEPREVFH) {
stp->ls_flags |= NFSLCK_DELEGPREV;