#ifndef __KERNEL__
/* liblustre workaround */
-cfs_atomic_t libcfs_kmemory = {0};
+atomic_t libcfs_kmemory = {0};
#endif
struct obd_device *obd_devs[MAX_OBD_DEVICES];
EXPORT_SYMBOL(obd_dump_on_eviction);
unsigned int obd_max_dirty_pages = 256;
EXPORT_SYMBOL(obd_max_dirty_pages);
-cfs_atomic_t obd_dirty_pages;
+atomic_t obd_unstable_pages;
+EXPORT_SYMBOL(obd_unstable_pages);
+atomic_t obd_dirty_pages;
EXPORT_SYMBOL(obd_dirty_pages);
unsigned int obd_timeout = OBD_TIMEOUT_DEFAULT; /* seconds */
EXPORT_SYMBOL(obd_timeout);
int at_extra = 30;
EXPORT_SYMBOL(at_extra);
-cfs_atomic_t obd_dirty_transit_pages;
+atomic_t obd_dirty_transit_pages;
EXPORT_SYMBOL(obd_dirty_transit_pages);
char obd_jobid_var[JOBSTATS_JOBID_VAR_MAX_LEN + 1] = JOBSTATS_DISABLE;
EXPORT_SYMBOL(obd_jobid_var);
+#ifdef LPROCFS
+struct lprocfs_stats *obd_memory = NULL;
+EXPORT_SYMBOL(obd_memory);
+#endif
+
/* Get jobid of current process by reading the environment variable
* stored in between the "env_start" & "env_end" of task struct.
*
/* Use process name + fsuid as jobid */
if (strcmp(obd_jobid_var, JOBSTATS_PROCNAME_UID) == 0) {
snprintf(jobid, JOBSTATS_JOBID_SIZE, "%s.%u",
- cfs_curproc_comm(), cfs_curproc_fsuid());
+ current_comm(), current_fsuid());
RETURN(0);
}
"("LPU64" bytes) allocated by Lustre, "
"%d total bytes by LNET\n",
obd_memory_sum(),
- obd_pages_sum() << CFS_PAGE_SHIFT,
+ obd_pages_sum() << PAGE_CACHE_SHIFT,
obd_pages_sum(),
- cfs_atomic_read(&libcfs_kmemory));
+ atomic_read(&libcfs_kmemory));
return 1;
}
return 0;
OBD_ALLOC(lcfg, data->ioc_plen1);
if (lcfg == NULL)
GOTO(out, err = -ENOMEM);
- err = cfs_copy_from_user(lcfg, data->ioc_pbuf1,
+ err = copy_from_user(lcfg, data->ioc_pbuf1,
data->ioc_plen1);
if (!err)
err = lustre_cfg_sanity_check(lcfg, data->ioc_plen1);
snprintf(str, len - sizeof(*data), "%3d %s %s %s %s %d",
(int)index, status, obd->obd_type->typ_name,
obd->obd_name, obd->obd_uuid.uuid,
- cfs_atomic_read(&obd->obd_refcount));
+ atomic_read(&obd->obd_refcount));
err = obd_ioctl_popdata((void *)arg, data, len);
GOTO(out, err = 0);
} /* class_handle_ioctl */
#ifdef __KERNEL__
-extern cfs_psdev_t obd_psdev;
+extern struct miscdevice obd_psdev;
#else
-void *obd_psdev = NULL;
+struct miscdevice obd_psdev;
#endif
#define OBD_INIT_CHECK
CWARN("LPD64 wrong length! strlen(%s)=%d != 2\n", buf, len);
ret = -EINVAL;
}
- if ((u64val & ~CFS_PAGE_MASK) >= CFS_PAGE_SIZE) {
+ if ((u64val & ~CFS_PAGE_MASK) >= PAGE_CACHE_SIZE) {
CWARN("mask failed: u64val "LPU64" >= "LPU64"\n", u64val,
- (__u64)CFS_PAGE_SIZE);
+ (__u64)PAGE_CACHE_SIZE);
ret = -EINVAL;
}
CFS_INIT_LIST_HEAD(&obd_types);
- err = cfs_psdev_register(&obd_psdev);
- if (err) {
- CERROR("cannot register %d err %d\n", OBD_DEV_MINOR, err);
- return err;
- }
+ err = misc_register(&obd_psdev);
+ if (err) {
+ CERROR("cannot register %d err %d\n", OBD_DEV_MINOR, err);
+ return err;
+ }
/* This struct is already zeroed for us (static global) */
for (i = 0; i < class_devno_max(); i++)
/* Default the dirty page cache cap to 1/2 of system memory.
* For clients with less memory, a larger fraction is needed
* for other purposes (mostly for BGL). */
- if (cfs_num_physpages <= 512 << (20 - CFS_PAGE_SHIFT))
- obd_max_dirty_pages = cfs_num_physpages / 4;
- else
- obd_max_dirty_pages = cfs_num_physpages / 2;
+ if (totalram_pages <= 512 << (20 - PAGE_CACHE_SHIFT))
+ obd_max_dirty_pages = totalram_pages / 4;
+ else
+ obd_max_dirty_pages = totalram_pages / 2;
err = obd_init_caches();
if (err)
return err;
#endif
- err = lu_global_init();
- if (err)
- return err;
+ err = lu_global_init();
+ if (err)
+ return err;
+
+ err = lu_capainfo_init();
+ if (err)
+ return err;
err = cl_global_init();
if (err != 0)
err = lu_ucred_global_init();
if (err != 0)
return err;
-
- err = llo_global_init();
- if (err != 0)
- return err;
#endif
err = llog_info_init();
lustre_unregister_fs();
- cfs_psdev_deregister(&obd_psdev);
- for (i = 0; i < class_devno_max(); i++) {
- struct obd_device *obd = class_num2obd(i);
- if (obd && obd->obd_set_up &&
- OBT(obd) && OBP(obd, detach)) {
- /* XXX should this call generic detach otherwise? */
- LASSERT(obd->obd_magic == OBD_DEVICE_MAGIC);
- OBP(obd, detach)(obd);
- }
- }
+ misc_deregister(&obd_psdev);
+ for (i = 0; i < class_devno_max(); i++) {
+ struct obd_device *obd = class_num2obd(i);
+ if (obd && obd->obd_set_up &&
+ OBT(obd) && OBP(obd, detach)) {
+ /* XXX should this call generic detach otherwise? */
+ LASSERT(obd->obd_magic == OBD_DEVICE_MAGIC);
+ OBP(obd, detach)(obd);
+ }
+ }
llog_info_fini();
#ifdef HAVE_SERVER_SUPPORT
- llo_global_fini();
lu_ucred_global_fini();
dt_global_fini();
#endif
cl_global_fini();
- lu_global_fini();
+ lu_capainfo_fini();
+ lu_global_fini();
obd_cleanup_caches();
obd_sysctl_clean();