X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fost%2Fost_handler.c;h=92827527ef77faa61749bb35e01e3e89aa6114e1;hp=0378840868e097dbe8c2e0f01d2b66db752085bc;hb=400b0681017091fab9cef9bd00e0f536e1793dcc;hpb=c3b5a88ed42538afd3db8d67cb5171546174eefa;ds=sidebyside diff --git a/lustre/ost/ost_handler.c b/lustre/ost/ost_handler.c index 0378840..9282752 100644 --- a/lustre/ost/ost_handler.c +++ b/lustre/ost/ost_handler.c @@ -38,6 +38,10 @@ #include #include #include +#include + +extern lprocfs_vars_t status_var_nm_1[]; +extern lprocfs_vars_t status_class_var[]; static int ost_destroy(struct ptlrpc_request *req) { @@ -665,21 +669,50 @@ static int ost_cleanup(struct obd_device * obddev) MOD_DEC_USE_COUNT; RETURN(0); } +int ost_attach(struct obd_device *dev, + obd_count len, void *data) +{ + /* lprocfs_reg_dev(dev, (lprocfs_group_t*)lprocfs_ptlrpc_nm, + sizeof(struct lprofiler_ptlrpc)); + */ + lprocfs_reg_obd(dev, (lprocfs_vars_t*)status_var_nm_1, (void*)dev); + return 0; +} + +int ost_detach(struct obd_device *dev) +{ + /* lprocfs_dereg_dev(dev); */ + lprocfs_dereg_obd(dev); + return 0; + +} + + /* use obd ops to offer management infrastructure */ static struct obd_ops ost_obd_ops = { + o_attach: ost_attach, + o_detach: ost_detach, o_setup: ost_setup, o_cleanup: ost_cleanup, }; static int __init ost_init(void) { - class_register_type(&ost_obd_ops, LUSTRE_OST_NAME); + int rc; + + rc = class_register_type(&ost_obd_ops, + (lprocfs_vars_t*)status_class_var, + LUSTRE_OST_NAME); + if (rc) RETURN(rc); + return 0; + } static void __exit ost_exit(void) { + class_unregister_type(LUSTRE_OST_NAME); }