unsigned int ldlm_timeout = LDLM_TIMEOUT_DEFAULT; /* seconds */
unsigned int obd_max_dirty_pages = 256;
atomic_t obd_dirty_pages;
+atomic_t obd_dirty_transit_pages;
cfs_waitq_t obd_race_waitq;
int obd_race_state;
}
- if (data->ioc_dev >= class_devno_max()) {
+ if (data->ioc_dev == OBD_DEV_BY_DEVNAME) {
+ if (data->ioc_inllen4 <= 0 || data->ioc_inlbuf4 == NULL)
+ GOTO(out, err = -EINVAL);
+ if (strnlen(data->ioc_inlbuf4, MAX_OBD_NAME) >= MAX_OBD_NAME)
+ GOTO(out, err = -EINVAL);
+ obd = class_name2obd(data->ioc_inlbuf4);
+ } else if (data->ioc_dev < class_devno_max()) {
+ obd = class_num2obd(data->ioc_dev);
+ } else {
CERROR("OBD ioctl: No device\n");
GOTO(out, err = -EINVAL);
}
- obd = class_num2obd(data->ioc_dev);
if (obd == NULL) {
CERROR("OBD ioctl : No Device %d\n", data->ioc_dev);
GOTO(out, err = -EINVAL);
EXPORT_SYMBOL(ldlm_timeout);
EXPORT_SYMBOL(obd_max_dirty_pages);
EXPORT_SYMBOL(obd_dirty_pages);
+EXPORT_SYMBOL(obd_dirty_transit_pages);
EXPORT_SYMBOL(ptlrpc_put_connection_superhack);
EXPORT_SYMBOL(proc_lustre_root);
EXPORT_SYMBOL(class_uuid2dev);
EXPORT_SYMBOL(class_uuid2obd);
EXPORT_SYMBOL(class_find_client_obd);
-EXPORT_SYMBOL(class_find_client_notype);
EXPORT_SYMBOL(class_devices_in_group);
EXPORT_SYMBOL(class_conn2export);
EXPORT_SYMBOL(class_exp2obd);
obd_zombie_impexp_init();
#ifdef LPROCFS
obd_memory = lprocfs_alloc_stats(OBD_STATS_NUM,
- LPROCFS_STATS_FLAG_PERCPU);
+ LPROCFS_STATS_FLAG_NONE);
if (obd_memory == NULL) {
CERROR("kmalloc of 'obd_memory' failed\n");
RETURN(-ENOMEM);
if (err)
return err;
#ifdef __KERNEL__
- err = lu_global_init();
+ err = class_procfs_init();
if (err)
return err;
- err = class_procfs_init();
+#endif
+
+ err = lu_global_init();
if (err)
return err;
+
+#ifdef __KERNEL__
err = lustre_register_fs();
#endif