static int echo_connect(const struct lu_env *env,
struct lustre_handle *conn, struct obd_device *obd,
- struct obd_uuid *cluuid, struct obd_connect_data *data)
+ struct obd_uuid *cluuid, struct obd_connect_data *data,
+ void *localdata)
{
data->ocd_connect_flags &= ECHO_CONNECT_SUPPORTED;
return class_connect(conn, obd, cluuid);
/* Take extra ref so __free_pages() can be called OK */
cfs_get_page (r->page);
} else {
- r->page = cfs_alloc_page(gfp_mask);
+ OBD_PAGE_ALLOC(r->page, gfp_mask);
if (r->page == NULL) {
CERROR("can't get page %u/%u for id "
LPU64"\n",
cfs_kunmap(r->page);
/* NB if this is a persistent page, __free_pages will just
* lose the extra ref gained above */
- cfs_free_page(r->page);
+ OBD_PAGE_FREE(r->page);
atomic_dec(&obd->u.echo.eo_prep);
}
memset(res, 0, sizeof(*res) * niocount);
cfs_kunmap(page);
/* NB see comment above regarding persistent pages */
- cfs_free_page(page);
+ OBD_PAGE_FREE(page);
atomic_dec(&obd->u.echo.eo_prep);
}
}
cfs_page_t *page = r->page;
/* NB see comment above regarding persistent pages */
- cfs_free_page(page);
+ OBD_PAGE_FREE(page);
atomic_dec(&obd->u.echo.eo_prep);
}
return rc;
spin_lock_init(&obd->u.echo.eo_lock);
obd->u.echo.eo_lastino = ECHO_INIT_OBJID;
- obd->obd_namespace = ldlm_namespace_new("echo-tgt",
+ obd->obd_namespace = ldlm_namespace_new(obd, "echo-tgt",
LDLM_NAMESPACE_SERVER,
LDLM_NAMESPACE_MODEST);
if (obd->obd_namespace == NULL) {
0, NULL, &obd->u.echo.eo_nl_lock);
LASSERT (rc == ELDLM_OK);
- lprocfs_init_vars(echo, &lvars);
+ lprocfs_echo_init_vars(&lvars);
if (lprocfs_obd_setup(obd, lvars.obd_vars) == 0 &&
lprocfs_alloc_obd_stats(obd, LPROC_ECHO_LAST) == 0) {
lprocfs_counter_init(obd->obd_stats, LPROC_ECHO_READ_BYTES,
set_current_state (TASK_UNINTERRUPTIBLE);
cfs_schedule_timeout (CFS_TASK_UNINT, cfs_time_seconds(1));
- ldlm_namespace_free(obd->obd_namespace, obd->obd_force);
+ ldlm_namespace_free(obd->obd_namespace, NULL, obd->obd_force);
+ obd->obd_namespace = NULL;
leaked = atomic_read(&obd->u.echo.eo_prep);
if (leaked != 0)
for (i = 0; i < ECHO_PERSISTENT_PAGES; i++)
if (echo_persistent_pages[i] != NULL) {
- cfs_free_page (echo_persistent_pages[i]);
+ OBD_PAGE_FREE(echo_persistent_pages[i]);
echo_persistent_pages[i] = NULL;
}
}
int gfp_mask = (i < ECHO_PERSISTENT_PAGES/2) ?
CFS_ALLOC_STD : CFS_ALLOC_HIGHUSER;
- pg = cfs_alloc_page (gfp_mask);
+ OBD_PAGE_ALLOC(pg, gfp_mask);
if (pg == NULL) {
echo_persistent_pages_fini ();
return (-ENOMEM);
LASSERT(CFS_PAGE_SIZE % OBD_ECHO_BLOCK_SIZE == 0);
- lprocfs_init_vars(echo, &lvars);
+ lprocfs_echo_init_vars(&lvars);
rc = echo_persistent_pages_init ();
if (rc != 0)