aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@citi.umich.edu>2007-11-09 12:31:55 -0500
committerJ. Bruce Fields <bfields@citi.umich.edu>2008-02-01 16:42:03 -0500
commit46b25895767c606c630a97b03a895934a7a36a70 (patch)
tree94c8c9361fe1d82b3d803e3297eeeb9f4984e62c /fs
parentca2a05aa7c72309ee65164c78fa2be7a5038215e (diff)
knfsd: cleanup nfsd4 properly on module init failure
We forgot to shut down the nfs4 state and idmapping code in this case. Acked-by: NeilBrown <neilb@suse.de> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'fs')
-rw-r--r--fs/nfsd/nfsctl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
index 77dc9893b7ba..d8d50a773a5b 100644
--- a/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c
@@ -695,12 +695,14 @@ static int __init init_nfsd(void)
695 } 695 }
696 retval = register_filesystem(&nfsd_fs_type); 696 retval = register_filesystem(&nfsd_fs_type);
697 if (retval) { 697 if (retval) {
698 nfsd_idmap_shutdown();
698 nfsd_export_shutdown(); 699 nfsd_export_shutdown();
699 nfsd_cache_shutdown(); 700 nfsd_cache_shutdown();
700 remove_proc_entry("fs/nfs/exports", NULL); 701 remove_proc_entry("fs/nfs/exports", NULL);
701 remove_proc_entry("fs/nfs", NULL); 702 remove_proc_entry("fs/nfs", NULL);
702 nfsd_stat_shutdown(); 703 nfsd_stat_shutdown();
703 nfsd_lockd_shutdown(); 704 nfsd_lockd_shutdown();
705 nfsd4_free_slabs();
704 } 706 }
705 return retval; 707 return retval;
706} 708}