#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"
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);
}
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);
obd = class_num2obd(index);
if (!obd)
GOTO(out, err = -ENOENT);
-
+
if (obd->obd_stopping)
status = "ST";
else if (obd->obd_set_up)
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,
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);
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)
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;
}
#endif
extern spinlock_t obd_types_lock;
-extern spinlock_t handle_lock;
extern int class_procfs_init(void);
extern int class_procfs_clean(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");
#endif
spin_lock_init(&obd_types_lock);
- spin_lock_init(&handle_lock);
cfs_waitq_init(&obd_race_waitq);
obd_zombie_impexp_init();
if (err)
return err;
#ifdef __KERNEL__
+ err = lu_global_init();
+ if (err)
+ return err;
err = class_procfs_init();
if (err)
return err;
OBP(obd, detach)(obd);
}
}
+ lu_global_fini();
obd_cleanup_caches();
obd_sysctl_clean();