NFSD: OP_CB_RECALL_ANY should recall both read and write delegations
authorDai Ngo <dai.ngo@oracle.com>
Sat, 17 Feb 2024 18:00:22 +0000 (10:00 -0800)
committerChuck Lever <chuck.lever@oracle.com>
Fri, 1 Mar 2024 14:12:32 +0000 (09:12 -0500)
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>
fs/nfsd/nfs4state.c

index a22016d0106fbfe8269a6de5695e7e03cba472bc..7476726634f5318a24fb9b8d9989d604cb2286d3 100644 (file)
@@ -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);
        }