Commit 2c5e7615 authored by J. Bruce Fields's avatar J. Bruce Fields

nfsd: clean up grace period on early exit

If nfsd was shut down before the grace period ended, we could end up
with a freed object still on grace_list.  Thanks to Jeff Moyer for
reporting the resulting list corruption warnings.
Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
Tested-by: default avatarJeff Moyer <jmoyer@redhat.com>
parent b726e923
...@@ -181,6 +181,7 @@ lockd(void *vrqstp) ...@@ -181,6 +181,7 @@ lockd(void *vrqstp)
} }
flush_signals(current); flush_signals(current);
cancel_delayed_work_sync(&grace_period_end); cancel_delayed_work_sync(&grace_period_end);
locks_end_grace(&lockd_manager);
if (nlmsvc_ops) if (nlmsvc_ops)
nlmsvc_invalidate_all(); nlmsvc_invalidate_all();
nlm_shutdown_hosts(); nlm_shutdown_hosts();
......
...@@ -3261,6 +3261,7 @@ nfs4_state_shutdown(void) ...@@ -3261,6 +3261,7 @@ nfs4_state_shutdown(void)
{ {
cancel_rearming_delayed_workqueue(laundry_wq, &laundromat_work); cancel_rearming_delayed_workqueue(laundry_wq, &laundromat_work);
destroy_workqueue(laundry_wq); destroy_workqueue(laundry_wq);
locks_end_grace(&nfsd4_manager);
nfs4_lock_state(); nfs4_lock_state();
nfs4_release_reclaim(); nfs4_release_reclaim();
__nfs4_state_shutdown(); __nfs4_state_shutdown();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment