summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ. Bruce Fields2007-11-09 18:31:55 +0100
committerJ. Bruce Fields2008-02-01 22:42:03 +0100
commit46b25895767c606c630a97b03a895934a7a36a70 (patch)
tree94c8c9361fe1d82b3d803e3297eeeb9f4984e62c
parentnfsd: Fix handling of negative lengths in read_buf() (diff)
downloadkernel-qcow2-linux-46b25895767c606c630a97b03a895934a7a36a70.tar.gz
kernel-qcow2-linux-46b25895767c606c630a97b03a895934a7a36a70.tar.xz
kernel-qcow2-linux-46b25895767c606c630a97b03a895934a7a36a70.zip
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>
-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)
}
retval = register_filesystem(&nfsd_fs_type);
if (retval) {
+ nfsd_idmap_shutdown();
nfsd_export_shutdown();
nfsd_cache_shutdown();
remove_proc_entry("fs/nfs/exports", NULL);
remove_proc_entry("fs/nfs", NULL);
nfsd_stat_shutdown();
nfsd_lockd_shutdown();
+ nfsd4_free_slabs();
}
return retval;
}