Whamcloud - gitweb
LU-13004 lustre: remove support for KVEC bulk descriptors
[fs/lustre-release.git] / lustre / osc / osc_dev.c
index b11eb19..68d8a17 100644 (file)
@@ -23,7 +23,7 @@
  * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2012, 2015, Intel Corporation.
+ * Copyright (c) 2012, 2017, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -39,6 +39,7 @@
 /* class_name2obd() */
 #include <obd_class.h>
 #include <lustre_osc.h>
+#include <uapi/linux/lustre/lustre_param.h>
 
 #include "osc_internal.h"
 
@@ -54,9 +55,8 @@ EXPORT_SYMBOL(osc_object_kmem);
 struct kmem_cache *osc_thread_kmem;
 struct kmem_cache *osc_session_kmem;
 struct kmem_cache *osc_extent_kmem;
-EXPORT_SYMBOL(osc_extent_kmem);
 struct kmem_cache *osc_quota_kmem;
-EXPORT_SYMBOL(osc_quota_kmem);
+struct kmem_cache *osc_obdo_kmem;
 
 struct lu_kmem_descr osc_caches[] = {
         {
@@ -90,8 +90,13 @@ struct lu_kmem_descr osc_caches[] = {
                .ckd_size  = sizeof(struct osc_quota_info)
        },
        {
-                .ckd_cache = NULL
-        }
+               .ckd_cache = &osc_obdo_kmem,
+               .ckd_name  = "osc_obdo_kmem",
+               .ckd_size  = sizeof(struct obdo)
+       },
+       {
+               .ckd_cache = NULL
+       }
 };
 
 /*****************************************************************************
@@ -125,6 +130,7 @@ struct lu_context_key osc_key = {
         .lct_init = osc_key_init,
         .lct_fini = osc_key_fini
 };
+EXPORT_SYMBOL(osc_key);
 
 static void *osc_session_init(const struct lu_context *ctx,
                              struct lu_context_key *key)
@@ -149,20 +155,22 @@ struct lu_context_key osc_session_key = {
         .lct_init = osc_session_init,
         .lct_fini = osc_session_fini
 };
+EXPORT_SYMBOL(osc_session_key);
 
 /* type constructor/destructor: osc_type_{init,fini,start,stop}(). */
 LU_TYPE_INIT_FINI(osc, &osc_key, &osc_session_key);
 
-static int osc_cl_process_config(const struct lu_env *env,
-                                 struct lu_device *d, struct lustre_cfg *cfg)
+static int osc_process_config(const struct lu_env *env, struct lu_device *d,
+                             struct lustre_cfg *cfg)
 {
-        ENTRY;
-        RETURN(osc_process_config_base(d->ld_obd, cfg));
+       ssize_t count  = class_modify_config(cfg, PARAM_OSC,
+                                            &d->ld_obd->obd_kset.kobj);
+       return count > 0 ? 0 : count;
 }
 
 static const struct lu_device_operations osc_lu_ops = {
         .ldo_object_alloc      = osc_object_alloc,
-        .ldo_process_config    = osc_cl_process_config,
+       .ldo_process_config    = osc_process_config,
         .ldo_recovery_complete = NULL
 };