#include <linux/lprocfs_status.h>
#include <linux/obd_ptlbd.h>
+static int ptlbd_cl_attach(struct obd_device *obd, obd_count len, void *buf)
+{
+ struct lprocfs_static_vars lvars;
+
+ lprocfs_init_vars(ptlbd_cl, &lvars);
+ return lprocfs_obd_attach(obd, lvars.obd_vars);
+}
+
+static int ptlbd_cl_detach(struct obd_device *obd)
+{
+ return lprocfs_obd_detach(obd);
+}
+
static int ptlbd_cl_setup(struct obd_device *obd, obd_count len, void *buf)
{
struct ptlbd_obd *ptlbd = &obd->u.ptlbd;
- struct lprocfs_static_vars lvars;
- struct obd_import *imp;
struct lustre_cfg* lcfg = buf;
+ struct obd_import *imp;
ENTRY;
if (ptlbd->bd_import != NULL)
lcfg->lcfg_inllen1);
ptlbd_blk_register(ptlbd);
- lprocfs_init_vars(ptlbd_cl, &lvars);
- lprocfs_obd_setup(obd, lvars.obd_vars);
-
RETURN(0);
}
if (!imp->imp_connection)
RETURN(-ENOENT);
- lprocfs_obd_cleanup(obd);
-
ptlrpc_cleanup_client(imp);
ptlrpc_put_connection(imp->imp_connection);
RETURN(0);
}
-
/* modelled after ptlrpc_import_connect() */
int ptlbd_cl_connect(struct lustre_handle *conn, struct obd_device *obd,
- struct obd_uuid *target_uuid)
+ struct obd_uuid *target_uuid, unsigned long connect_flags)
{
struct ptlbd_obd *ptlbd = &obd->u.ptlbd;
struct obd_import *imp = ptlbd->bd_import;
static struct obd_ops ptlbd_cl_obd_ops = {
- o_owner: THIS_MODULE,
- o_setup: ptlbd_cl_setup,
- o_cleanup: ptlbd_cl_cleanup,
- o_connect: ptlbd_cl_connect,
- o_disconnect: ptlbd_cl_disconnect,
+ .o_owner = THIS_MODULE,
+ .o_attach = ptlbd_cl_attach,
+ .o_detach = ptlbd_cl_detach,
+ .o_setup = ptlbd_cl_setup,
+ .o_cleanup = ptlbd_cl_cleanup,
+ .o_connect = ptlbd_cl_connect,
+ .o_disconnect = ptlbd_cl_disconnect,
};
static struct lprocfs_vars lprocfs_obd_vars[] = { {0} };
struct lprocfs_static_vars lvars;
lprocfs_init_vars(ptlbd_cl,&lvars);
- return class_register_type(&ptlbd_cl_obd_ops, lvars.module_vars,
+ return class_register_type(&ptlbd_cl_obd_ops, NULL, lvars.module_vars,
OBD_PTLBD_CL_DEVICENAME);
}
class_unregister_type(OBD_PTLBD_CL_DEVICENAME);
}
-
-
int ptlbd_do_connect(struct ptlbd_obd *ptlbd)
{
int rc;
ENTRY;
memset(&conn, 0, sizeof(conn));
- rc = obd_connect(&conn, obd, &ptlbd->bd_server_uuid);
+ rc = obd_connect(&conn, obd, &ptlbd->bd_server_uuid, 0);
if (rc < 0)
RETURN(rc);
ptlbd->bd_exp = class_conn2export(&conn);