aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/nfsd/nfs4state.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index e87e15df2044..f056b1d3fecd 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -298,6 +298,14 @@ remove_blocked_locks(struct nfs4_lockowner *lo)
298 } 298 }
299} 299}
300 300
301static void
302nfsd4_cb_notify_lock_prepare(struct nfsd4_callback *cb)
303{
304 struct nfsd4_blocked_lock *nbl = container_of(cb,
305 struct nfsd4_blocked_lock, nbl_cb);
306 locks_delete_block(&nbl->nbl_lock);
307}
308
301static int 309static int
302nfsd4_cb_notify_lock_done(struct nfsd4_callback *cb, struct rpc_task *task) 310nfsd4_cb_notify_lock_done(struct nfsd4_callback *cb, struct rpc_task *task)
303{ 311{
@@ -325,6 +333,7 @@ nfsd4_cb_notify_lock_release(struct nfsd4_callback *cb)
325} 333}
326 334
327static const struct nfsd4_callback_ops nfsd4_cb_notify_lock_ops = { 335static const struct nfsd4_callback_ops nfsd4_cb_notify_lock_ops = {
336 .prepare = nfsd4_cb_notify_lock_prepare,
328 .done = nfsd4_cb_notify_lock_done, 337 .done = nfsd4_cb_notify_lock_done,
329 .release = nfsd4_cb_notify_lock_release, 338 .release = nfsd4_cb_notify_lock_release,
330}; 339};