static int ptlbd_sv_already_setup = 1;
-static int ptlbd_sv_setup(struct obd_device *obddev, obd_count len, void *buf)
+static int ptlbd_sv_setup(struct obd_device *obd, obd_count len, void *buf)
{
- struct ptlbd_obd *ptlbd = &obddev->u.ptlbd;
+ struct ptlbd_obd *ptlbd = &obd->u.ptlbd;
+ struct lprocfs_static_vars lvars;
int rc;
ENTRY;
if ( IS_ERR(ptlbd->filp) )
RETURN(PTR_ERR(ptlbd->filp));
+ lprocfs_init_vars(ptlbd_sv, &lvars);
+ lprocfs_obd_setup(obd, lvars.obd_vars);
+
ptlbd->ptlbd_service =
ptlrpc_init_svc(PTLBD_NBUFS, PTLBD_BUFSIZE, PTLBD_MAXREQSIZE,
PTLBD_REQUEST_PORTAL, PTLBD_REPLY_PORTAL,
ptlbd_handle, "ptlbd_sv",
- obddev->obd_proc_entry);
+ obd->obd_proc_entry);
- if (ptlbd->ptlbd_service == NULL)
+ if (ptlbd->ptlbd_service == NULL)
GOTO(out_filp, rc = -ENOMEM);
- rc = ptlrpc_start_n_threads(obddev, ptlbd->ptlbd_service, 1, "ptldb");
- if (rc != 0)
+ rc = ptlrpc_start_n_threads(obd, ptlbd->ptlbd_service, 1, "ptldb");
+ if (rc != 0)
GOTO(out_thread, rc);
ptlbd_sv_already_setup = 1;
ptlrpc_unregister_service(ptlbd->ptlbd_service);
out_filp:
filp_close(ptlbd->filp, NULL);
+ lprocfs_obd_cleanup(obd);
RETURN(rc);
}
-static int ptlbd_sv_cleanup(struct obd_device *obddev, int flags)
+static int ptlbd_sv_cleanup(struct obd_device *obd, int flags)
{
- struct ptlbd_obd *ptlbd = &obddev->u.ptlbd;
+ struct ptlbd_obd *ptlbd = &obd->u.ptlbd;
ENTRY;
/* XXX check for state */
filp_close(ptlbd->filp, NULL);
ptlbd_sv_already_setup = 0;
+
+ lprocfs_obd_cleanup(obd);
+
RETURN(0);
}