aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@citi.umich.edu>2008-11-20 15:36:17 -0500
committerJ. Bruce Fields <bfields@citi.umich.edu>2008-11-24 11:12:48 -0500
commit2c5e76158fcea6e3b9536a74efa7b5e2e846d374 (patch)
treedca1fcd75e3091b9ffe14b5461714fed1542dbba /fs/nfsd
parentb726e923ea4d216027e466aa602d914e4b4a63af (diff)
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: J. Bruce Fields <bfields@citi.umich.edu> Tested-by: Jeff Moyer <jmoyer@redhat.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfs4state.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index b0bebc552a11..1a052ac2bde9 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -3261,6 +3261,7 @@ nfs4_state_shutdown(void)
3261{ 3261{
3262 cancel_rearming_delayed_workqueue(laundry_wq, &laundromat_work); 3262 cancel_rearming_delayed_workqueue(laundry_wq, &laundromat_work);
3263 destroy_workqueue(laundry_wq); 3263 destroy_workqueue(laundry_wq);
3264 locks_end_grace(&nfsd4_manager);
3264 nfs4_lock_state(); 3265 nfs4_lock_state();
3265 nfs4_release_reclaim(); 3266 nfs4_release_reclaim();
3266 __nfs4_state_shutdown(); 3267 __nfs4_state_shutdown();