]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
NFSD: Call nfsd4_init_slabs() from init_nfsd()
authorBryan Schumaker <bjschuma@netapp.com>
Tue, 1 Nov 2011 19:24:59 +0000 (15:24 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Tue, 8 Nov 2011 02:10:47 +0000 (21:10 -0500)
init_nfsd() was calling free_slabs() during cleanup code, but the call
to init_slabs() was hidden in nfsd4_state_init().  This could be
confusing to people unfamiliar with the code.

Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4state.c
fs/nfsd/nfsctl.c
fs/nfsd/nfsd.h

index a511eff0569803bc66e3e240946199e83c018aca..1d6812db50996aae2bbacb0cc29ff6ea83fd8bae 100644 (file)
@@ -2301,7 +2301,7 @@ nfsd4_free_slabs(void)
        nfsd4_free_slab(&deleg_slab);
 }
 
-static int
+int
 nfsd4_init_slabs(void)
 {
        openowner_slab = kmem_cache_create("nfsd4_openowners",
@@ -4546,14 +4546,11 @@ void nfsd_recall_delegations(u64 num)
 
 /* initialization to perform at module load time: */
 
-int
+void
 nfs4_state_init(void)
 {
-       int i, status;
+       int i;
 
-       status = nfsd4_init_slabs();
-       if (status)
-               return status;
        for (i = 0; i < CLIENT_HASH_SIZE; i++) {
                INIT_LIST_HEAD(&conf_id_hashtbl[i]);
                INIT_LIST_HEAD(&conf_str_hashtbl[i]);
@@ -4577,7 +4574,6 @@ nfs4_state_init(void)
        INIT_LIST_HEAD(&client_lru);
        INIT_LIST_HEAD(&del_recall_lru);
        reclaim_str_hashtbl_size = 0;
-       return 0;
 }
 
 static void
index b2e8093ebc21c71be9bab662132e54011ee4858e..8daa935f329f9d82a55855ff35cf9fe3dd6ad732 100644 (file)
@@ -1129,9 +1129,10 @@ static int __init init_nfsd(void)
        int retval;
        printk(KERN_INFO "Installing knfsd (copyright (C) 1996 okir@monad.swb.de).\n");
 
-       retval = nfs4_state_init(); /* nfs4 locking state */
+       retval = nfsd4_init_slabs();
        if (retval)
                return retval;
+       nfs4_state_init();
        retval = nfsd_fault_inject_init(); /* nfsd fault injection controls */
        if (retval)
                goto out_free_slabs;
index 58134a23fdfbaebfbb0482e510e2d0e73bc7e44e..4e2ee29f2cf950b0b953646501a25ff3535c2f72 100644 (file)
@@ -104,14 +104,16 @@ static inline int nfsd_v4client(struct svc_rqst *rq)
  */
 #ifdef CONFIG_NFSD_V4
 extern unsigned int max_delegations;
-int nfs4_state_init(void);
+void nfs4_state_init(void);
+int nfsd4_init_slabs(void);
 void nfsd4_free_slabs(void);
 int nfs4_state_start(void);
 void nfs4_state_shutdown(void);
 void nfs4_reset_lease(time_t leasetime);
 int nfs4_reset_recoverydir(char *recdir);
 #else
-static inline int nfs4_state_init(void) { return 0; }
+static inline void nfs4_state_init(void) { }
+static inline int nfsd4_init_slabs(void) { return 0; }
 static inline void nfsd4_free_slabs(void) { }
 static inline int nfs4_state_start(void) { return 0; }
 static inline void nfs4_state_shutdown(void) { }