summaryrefslogtreecommitdiffstats
path: root/fs/nfsd
diff options
context:
space:
mode:
authorDai Ngo <dai.ngo@oracle.com>2024-02-17 10:00:22 -0800
committerChuck Lever <chuck.lever@oracle.com>2024-03-01 09:12:32 -0500
commit5826e09bf3dd4470082d54447ef700cafcaa91b8 (patch)
tree86251ef4c63627579b1e7abce93733d6dab2ca1e /fs/nfsd
parentc5967721e1063648b0506481585ba7e2e49a075e (diff)
downloadlinux-5826e09bf3dd4470082d54447ef700cafcaa91b8.tar.gz
linux-5826e09bf3dd4470082d54447ef700cafcaa91b8.tar.bz2
linux-5826e09bf3dd4470082d54447ef700cafcaa91b8.zip
NFSD: OP_CB_RECALL_ANY should recall both read and write delegations
Add RCA4_TYPE_MASK_WDATA_DLG to ra_bmval bitmask of OP_CB_RECALL_ANY Signed-off-by: Dai Ngo <dai.ngo@oracle.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfs4state.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index a22016d0106f..7476726634f5 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -6611,6 +6611,8 @@ deleg_reaper(struct nfsd_net *nn)
list_del_init(&clp->cl_ra_cblist);
clp->cl_ra->ra_keep = 0;
clp->cl_ra->ra_bmval[0] = BIT(RCA4_TYPE_MASK_RDATA_DLG);
+ clp->cl_ra->ra_bmval[0] = BIT(RCA4_TYPE_MASK_RDATA_DLG) |
+ BIT(RCA4_TYPE_MASK_WDATA_DLG);
trace_nfsd_cb_recall_any(clp->cl_ra);
nfsd4_run_cb(&clp->cl_ra->ra_cb);
}