Whamcloud - gitweb
- make HEAD from b_post_cmd3
[fs/lustre-release.git] / lustre / obdclass / class_obd.c
index 1684e72..1c0c4c7 100644 (file)
@@ -39,9 +39,7 @@
 #include <obd_class.h>
 #include <lustre_debug.h>
 #include <lprocfs_status.h>
-#ifdef __KERNEL__
-#include <linux/lustre_build_version.h>
-#endif
+#include <lustre/lustre_build_version.h>
 #include <libcfs/list.h>
 #include "llog_internal.h"
 
@@ -185,6 +183,7 @@ int class_handle_ioctl(unsigned int cmd, unsigned long arg)
                         err = lustre_cfg_sanity_check(lcfg, data->ioc_plen1);
                 if (!err)
                         err = class_process_config(lcfg);
+
                 OBD_FREE(lcfg, data->ioc_plen1);
                 GOTO(out, err);
         }
@@ -273,7 +272,7 @@ int class_handle_ioctl(unsigned int cmd, unsigned long arg)
                 if (!data->ioc_inlbuf1) {
                         CERROR("No buffer passed in ioctl\n");
                         GOTO(out, err = -EINVAL);
-                } 
+                }
                 if (data->ioc_inllen1 < 128) {
                         CERROR("ioctl buffer too small to hold version\n");
                         GOTO(out, err = -EINVAL);
@@ -282,7 +281,7 @@ int class_handle_ioctl(unsigned int cmd, unsigned long arg)
                 obd = class_num2obd(index);
                 if (!obd)
                         GOTO(out, err = -ENOENT);
-                
+
                 if (obd->obd_stopping)
                         status = "ST";
                 else if (obd->obd_set_up)
@@ -290,7 +289,7 @@ int class_handle_ioctl(unsigned int cmd, unsigned long arg)
                 else if (obd->obd_attached)
                         status = "AT";
                 else
-                        status = "--"; 
+                        status = "--";
                 str = (char *)data->ioc_bulk;
                 snprintf(str, len - sizeof(*data), "%3d %s %s %s %s %d",
                          (int)index, status, obd->obd_type->typ_name,
@@ -417,7 +416,9 @@ EXPORT_SYMBOL(lustre_uuid_to_peer);
 
 EXPORT_SYMBOL(class_handle_hash);
 EXPORT_SYMBOL(class_handle_unhash);
+EXPORT_SYMBOL(class_handle_hash_back);
 EXPORT_SYMBOL(class_handle2object);
+EXPORT_SYMBOL(class_handle_free_cb);
 
 /* obd_config.c */
 EXPORT_SYMBOL(class_incref);
@@ -435,6 +436,10 @@ EXPORT_SYMBOL(class_cleanup);
 EXPORT_SYMBOL(class_detach);
 EXPORT_SYMBOL(class_manual_cleanup);
 
+/* mea.c */
+EXPORT_SYMBOL(mea_name2idx);
+EXPORT_SYMBOL(raw_name2idx);
+
 #define OBD_INIT_CHECK
 #ifdef OBD_INIT_CHECK
 int obd_init_checks(void)
@@ -498,7 +503,7 @@ int obd_init_checks(void)
                 ret = -EINVAL;
         }
         if ((u64val & ~CFS_PAGE_MASK) >= CFS_PAGE_SIZE) {
-                CWARN("mask failed: u64val "LPU64" >= %lu\n", u64val, 
+                CWARN("mask failed: u64val "LPU64" >= %lu\n", u64val,
                       CFS_PAGE_SIZE);
                 ret = -EINVAL;
         }
@@ -510,7 +515,6 @@ int obd_init_checks(void)
 #endif
 
 extern spinlock_t obd_types_lock;
-extern spinlock_t handle_lock;
 extern int class_procfs_init(void);
 extern int class_procfs_clean(void);
 
@@ -527,6 +531,9 @@ int init_obdclass(void)
         printk(KERN_INFO "Lustre: OBD class driver, info@clusterfs.com\n");
         printk(KERN_INFO "        Lustre Version: "LUSTRE_VERSION_STRING"\n");
         printk(KERN_INFO "        Build Version: "BUILD_VERSION"\n");
+
+        for (i = CAPA_SITE_CLIENT; i < CAPA_SITE_MAX; i++)
+                INIT_LIST_HEAD(&capa_list[i]);
 #else
         CDEBUG(D_INFO, "Lustre: OBD class driver, info@clusterfs.com\n");
         CDEBUG(D_INFO, "        Lustre Version: "LUSTRE_VERSION_STRING"\n");
@@ -534,7 +541,6 @@ int init_obdclass(void)
 #endif
 
         spin_lock_init(&obd_types_lock);
-        spin_lock_init(&handle_lock);
         cfs_waitq_init(&obd_race_waitq);
         obd_zombie_impexp_init();
 
@@ -567,6 +573,9 @@ int init_obdclass(void)
         if (err)
                 return err;
 #ifdef __KERNEL__
+        err = lu_global_init();
+        if (err)
+                return err;
         err = class_procfs_init();
         if (err)
                 return err;
@@ -597,6 +606,7 @@ static void cleanup_obdclass(void)
                         OBP(obd, detach)(obd);
                 }
         }
+        lu_global_fini();
 
         obd_cleanup_caches();
         obd_sysctl_clean();