These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / staging / lustre / lustre / llite / super25.c
index a494f62..0131368 100644 (file)
@@ -51,8 +51,9 @@ static struct kmem_cache *ll_inode_cachep;
 static struct inode *ll_alloc_inode(struct super_block *sb)
 {
        struct ll_inode_info *lli;
+
        ll_stats_ops_tally(ll_s2sbi(sb), LPROC_LL_ALLOC_INODE, 1);
-       OBD_SLAB_ALLOC_PTR_GFP(lli, ll_inode_cachep, GFP_NOFS);
+       lli = kmem_cache_alloc(ll_inode_cachep, GFP_NOFS | __GFP_ZERO);
        if (lli == NULL)
                return NULL;
 
@@ -64,7 +65,8 @@ static void ll_inode_destroy_callback(struct rcu_head *head)
 {
        struct inode *inode = container_of(head, struct inode, i_rcu);
        struct ll_inode_info *ptr = ll_i2info(inode);
-       OBD_SLAB_FREE_PTR(ptr, ll_inode_cachep);
+
+       kmem_cache_free(ll_inode_cachep, ptr);
 }
 
 static void ll_destroy_inode(struct inode *inode)
@@ -89,9 +91,8 @@ void lustre_register_client_process_config(int (*cpc)(struct lustre_cfg *lcfg));
 
 static int __init init_lustre_lite(void)
 {
-       struct proc_dir_entry *entry;
        lnet_process_id_t lnet_id;
-       struct timeval tv;
+       struct timespec64 ts;
        int i, rc, seed[2];
 
        CLASSERT(sizeof(LUSTRE_VOLATILE_HDR) == LUSTRE_VOLATILE_HDR_LEN + 1);
@@ -128,15 +129,18 @@ static int __init init_lustre_lite(void)
        if (ll_rmtperm_hash_cachep == NULL)
                goto out_cache;
 
-       entry = lprocfs_register("llite", proc_lustre_root, NULL, NULL);
-       if (IS_ERR(entry)) {
-               rc = PTR_ERR(entry);
-               CERROR("cannot register '/proc/fs/lustre/llite': rc = %d\n",
-                      rc);
+       llite_root = debugfs_create_dir("llite", debugfs_lustre_root);
+       if (IS_ERR_OR_NULL(llite_root)) {
+               rc = llite_root ? PTR_ERR(llite_root) : -ENOMEM;
+               llite_root = NULL;
                goto out_cache;
        }
 
-       proc_lustre_fs_root = entry;
+       llite_kset = kset_create_and_add("llite", NULL, lustre_kobj);
+       if (!llite_kset) {
+               rc = -ENOMEM;
+               goto out_debugfs;
+       }
 
        cfs_get_random_bytes(seed, sizeof(seed));
 
@@ -150,16 +154,12 @@ static int __init init_lustre_lite(void)
                        seed[0] ^= LNET_NIDADDR(lnet_id.nid);
        }
 
-       do_gettimeofday(&tv);
-       cfs_srand(tv.tv_sec ^ seed[0], tv.tv_usec ^ seed[1]);
-       setup_timer(&ll_capa_timer, ll_capa_timer_callback, 0);
-       rc = ll_capa_thread_start();
-       if (rc != 0)
-               goto out_proc;
+       ktime_get_ts64(&ts);
+       cfs_srand(ts.tv_sec ^ seed[0], ts.tv_nsec ^ seed[1]);
 
        rc = vvp_global_init();
        if (rc != 0)
-               goto out_capa;
+               goto out_sysfs;
 
        rc = ll_xattr_init();
        if (rc != 0)
@@ -173,24 +173,15 @@ static int __init init_lustre_lite(void)
 
 out_vvp:
        vvp_global_fini();
-out_capa:
-       del_timer(&ll_capa_timer);
-       ll_capa_thread_stop();
-out_proc:
-       lprocfs_remove(&proc_lustre_fs_root);
+out_sysfs:
+       kset_unregister(llite_kset);
+out_debugfs:
+       debugfs_remove(llite_root);
 out_cache:
-       if (ll_inode_cachep != NULL)
-               kmem_cache_destroy(ll_inode_cachep);
-
-       if (ll_file_data_slab != NULL)
-               kmem_cache_destroy(ll_file_data_slab);
-
-       if (ll_remote_perm_cachep != NULL)
-               kmem_cache_destroy(ll_remote_perm_cachep);
-
-       if (ll_rmtperm_hash_cachep != NULL)
-               kmem_cache_destroy(ll_rmtperm_hash_cachep);
-
+       kmem_cache_destroy(ll_inode_cachep);
+       kmem_cache_destroy(ll_file_data_slab);
+       kmem_cache_destroy(ll_remote_perm_cachep);
+       kmem_cache_destroy(ll_rmtperm_hash_cachep);
        return rc;
 }
 
@@ -200,15 +191,11 @@ static void __exit exit_lustre_lite(void)
        lustre_register_kill_super_cb(NULL);
        lustre_register_client_process_config(NULL);
 
-       lprocfs_remove(&proc_lustre_fs_root);
+       debugfs_remove(llite_root);
+       kset_unregister(llite_kset);
 
        ll_xattr_fini();
        vvp_global_fini();
-       del_timer(&ll_capa_timer);
-       ll_capa_thread_stop();
-       LASSERTF(capa_count[CAPA_SITE_CLIENT] == 0,
-                "client remaining capa count %d\n",
-                capa_count[CAPA_SITE_CLIENT]);
 
        kmem_cache_destroy(ll_inode_cachep);
        kmem_cache_destroy(ll_rmtperm_hash_cachep);