aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfsctl.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
index d8d50a773a5b..ecf377944286 100644
--- a/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c
@@ -694,16 +694,18 @@ static int __init init_nfsd(void)
694 entry->proc_fops = &exports_operations; 694 entry->proc_fops = &exports_operations;
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 goto out_free_all;
699 nfsd_export_shutdown(); 699 return 0;
700 nfsd_cache_shutdown(); 700out_free_all:
701 remove_proc_entry("fs/nfs/exports", NULL); 701 nfsd_idmap_shutdown();
702 remove_proc_entry("fs/nfs", NULL); 702 nfsd_export_shutdown();
703 nfsd_stat_shutdown(); 703 nfsd_cache_shutdown();
704 nfsd_lockd_shutdown(); 704 remove_proc_entry("fs/nfs/exports", NULL);
705 nfsd4_free_slabs(); 705 remove_proc_entry("fs/nfs", NULL);
706 } 706 nfsd_stat_shutdown();
707 nfsd_lockd_shutdown();
708 nfsd4_free_slabs();
707 return retval; 709 return retval;
708} 710}
709 711