- /* Note: add_rec/delcare_add_rec will be only used by catalogs */
- osp_mds_ost_orig_logops = llog_osd_ops;
- osp_mds_ost_orig_logops.lop_add = llog_cat_add_rec;
- osp_mds_ost_orig_logops.lop_declare_add = llog_cat_declare_add_rec;
+ sym = class_setup_tunables(LUSTRE_OSC_NAME);
+ if (IS_ERR(sym)) {
+ rc = PTR_ERR(sym);
+ /* does real "osc" already exist ? */
+ if (rc == -EEXIST)
+ GOTO(try_proc, rc = 0);
+ GOTO(no_osc, rc);
+ }
+
+ /* create "osc" entry for compatibility purposes */
+ dname.name = "osc";
+ dname.len = strlen(dname.name);
+ dname.hash = ll_full_name_hash(debugfs_lustre_root, dname.name,
+ dname.len);
+ symlink = d_lookup(debugfs_lustre_root, &dname);
+ if (!symlink) {
+ symlink = debugfs_create_dir(dname.name, debugfs_lustre_root);
+ if (IS_ERR_OR_NULL(symlink)) {
+ rc = symlink ? PTR_ERR(symlink) : -ENOMEM;
+ GOTO(no_osc, rc);
+ }
+ sym->typ_debugfs_entry = symlink;
+ } else {
+ dput(symlink);
+ }