From: Mr NeilBrown Date: Thu, 27 Feb 2020 04:28:50 +0000 (+1100) Subject: LU-6142 lustre: remove remaining users of ldebugfs_register X-Git-Tag: 2.13.53~60 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=refs%2Fchanges%2F43%2F37743%2F3;p=fs%2Flustre-release.git LU-6142 lustre: remove remaining users of ldebugfs_register ldebugfs_register() is just a call to debugfs_create_dir() and ldebugfs_add_vars() if the list option is set. Fix up the remaining users of this function to just call these two functions instead, and delete the now unused ldebugfs_register() call. This ends up cleaning up more code and making things smaller, always a good thing. Linux-Commit 00905f006608 ("staging: lustre: remove last two users of ldebugfs_register()") Test-Parameters: trivial Signed-off-by: Greg Kroah-Hartman Signed-off-by: Mr NeilBrown Change-Id: I08f4cdcdd3367f50c37d899a5dc4d753e72c0fda Reviewed-on: https://review.whamcloud.com/37743 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: James Simmons --- diff --git a/lustre/fld/fld_request.c b/lustre/fld/fld_request.c index c1d8fa9..a8e059f 100644 --- a/lustre/fld/fld_request.c +++ b/lustre/fld/fld_request.c @@ -227,20 +227,12 @@ struct dentry *fld_debugfs_dir; static int fld_client_debugfs_init(struct lu_client_fld *fld) { - int rc; - ENTRY; - fld->lcf_debugfs_entry = ldebugfs_register(fld->lcf_name, - fld_debugfs_dir, - fld_client_debugfs_list, - fld); - if (IS_ERR_OR_NULL(fld->lcf_debugfs_entry)) { - CERROR("%s: LdebugFS failed in fld-init\n", fld->lcf_name); - rc = fld->lcf_debugfs_entry ? PTR_ERR(fld->lcf_debugfs_entry) - : -ENOMEM; - fld->lcf_debugfs_entry = NULL; - RETURN(rc); - } + fld->lcf_debugfs_entry = debugfs_create_dir(fld->lcf_name, + fld_debugfs_dir); + ldebugfs_add_vars(fld->lcf_debugfs_entry, + fld_client_debugfs_list, + fld); return 0; } diff --git a/lustre/include/lprocfs_status.h b/lustre/include/lprocfs_status.h index 23d3511..89b914b 100644 --- a/lustre/include/lprocfs_status.h +++ b/lustre/include/lprocfs_status.h @@ -527,10 +527,6 @@ extern int ldebugfs_add_vars(struct dentry *parent, struct lprocfs_vars *var, extern int lprocfs_add_vars(struct proc_dir_entry *root, struct lprocfs_vars *var, void *data); -extern struct dentry *ldebugfs_register(const char *name, - struct dentry *parent, - struct lprocfs_vars *list, - void *data); extern struct proc_dir_entry * lprocfs_register(const char *name, struct proc_dir_entry *parent, struct lprocfs_vars *list, void *data); diff --git a/lustre/llite/lproc_llite.c b/lustre/llite/lproc_llite.c index f1b0884..a82746b 100644 --- a/lustre/llite/lproc_llite.c +++ b/lustre/llite/lproc_llite.c @@ -1633,14 +1633,8 @@ int ll_debugfs_register_super(struct super_block *sb, const char *name) if (IS_ERR_OR_NULL(llite_root)) goto out_ll_kset; - sbi->ll_debugfs_entry = ldebugfs_register(name, llite_root, - lprocfs_llite_obd_vars, sb); - if (IS_ERR_OR_NULL(sbi->ll_debugfs_entry)) { - err = sbi->ll_debugfs_entry ? PTR_ERR(sbi->ll_debugfs_entry) : - -ENOMEM; - sbi->ll_debugfs_entry = NULL; - RETURN(err); - } + sbi->ll_debugfs_entry = debugfs_create_dir(name, llite_root); + ldebugfs_add_vars(sbi->ll_debugfs_entry, lprocfs_llite_obd_vars, sb); rc = ldebugfs_seq_create(sbi->ll_debugfs_entry, "dump_page_cache",0444, &vvp_dump_pgcache_file_ops, sbi); diff --git a/lustre/mdd/mdd_lproc.c b/lustre/mdd/mdd_lproc.c index 829afc7..0b86322 100644 --- a/lustre/mdd/mdd_lproc.c +++ b/lustre/mdd/mdd_lproc.c @@ -717,18 +717,9 @@ int mdd_procfs_init(struct mdd_device *mdd, const char *name) /* Find the type procroot and add the proc entry for this device */ obd->obd_vars = lprocfs_mdd_obd_vars; - obd->obd_debugfs_entry = ldebugfs_register(name, - type->typ_debugfs_entry, - obd->obd_vars, mdd); - if (IS_ERR_OR_NULL(obd->obd_debugfs_entry)) { - rc = obd->obd_debugfs_entry ? PTR_ERR(obd->obd_debugfs_entry) - : -ENOMEM; - CERROR("Error %d setting up debugfs for %s\n", - rc, name); - obd->obd_debugfs_entry = NULL; - - kobject_put(&mdd->mdd_kobj); - } + obd->obd_debugfs_entry = debugfs_create_dir(name, + type->typ_debugfs_entry); + ldebugfs_add_vars(obd->obd_debugfs_entry, obd->obd_vars, mdd); RETURN(rc); } diff --git a/lustre/mdt/mdt_coordinator.c b/lustre/mdt/mdt_coordinator.c index 6ab98d7..1740b4a 100644 --- a/lustre/mdt/mdt_coordinator.c +++ b/lustre/mdt/mdt_coordinator.c @@ -2574,18 +2574,9 @@ int hsm_cdt_tunables_init(struct mdt_device *mdt) } /* init debugfs entries, failure is not critical */ - cdt->cdt_debugfs_dir = ldebugfs_register("hsm", - obd->obd_debugfs_entry, - lprocfs_mdt_hsm_vars, mdt); - if (IS_ERR_OR_NULL(cdt->cdt_debugfs_dir)) { - rc = cdt->cdt_debugfs_dir ? PTR_ERR(cdt->cdt_debugfs_dir) : - -ENOMEM; - CERROR("%s: Cannot create 'hsm' directory in mdt proc dir, rc = %d\n", - mdt_obd_name(mdt), rc); - cdt->cdt_debugfs_dir = NULL; - kobject_put(&cdt->cdt_hsm_kobj); - return rc; - } + cdt->cdt_debugfs_dir = debugfs_create_dir("hsm", + obd->obd_debugfs_entry); + ldebugfs_add_vars(cdt->cdt_debugfs_dir, lprocfs_mdt_hsm_vars, mdt); return 0; } diff --git a/lustre/obdclass/dt_object.c b/lustre/obdclass/dt_object.c index ba8bfbf..eddcaa7 100644 --- a/lustre/obdclass/dt_object.c +++ b/lustre/obdclass/dt_object.c @@ -1284,19 +1284,9 @@ int dt_tunables_init(struct dt_device *dt, struct obd_type *type, if (!list) return rc; - dt->dd_debugfs_entry = ldebugfs_register(name, - type->typ_debugfs_entry, - list, dt); - if (IS_ERR_OR_NULL(dt->dd_debugfs_entry)) { - rc = dt->dd_debugfs_entry ? PTR_ERR(dt->dd_debugfs_entry) - : -ENOMEM; - CERROR("%s: error %d setting up debugfs\n", - name, rc); - dt->dd_debugfs_entry = NULL; - sysfs_remove_files(&dt->dd_kobj, dt->dd_def_attrs); - kobject_put(&dt->dd_kobj); - return rc; - } + dt->dd_debugfs_entry = debugfs_create_dir(name, + type->typ_debugfs_entry); + ldebugfs_add_vars(dt->dd_debugfs_entry, list, dt); return rc; } diff --git a/lustre/obdclass/genops.c b/lustre/obdclass/genops.c index f541c58..a02b756 100644 --- a/lustre/obdclass/genops.c +++ b/lustre/obdclass/genops.c @@ -284,14 +284,8 @@ dir_exist: } } #endif - type->typ_debugfs_entry = ldebugfs_register(name, debugfs_lustre_root, - vars, type); - if (IS_ERR_OR_NULL(type->typ_debugfs_entry)) { - rc = type->typ_debugfs_entry ? PTR_ERR(type->typ_debugfs_entry) - : -ENOMEM; - type->typ_debugfs_entry = NULL; - GOTO(failed, rc); - } + type->typ_debugfs_entry = debugfs_create_dir(name, debugfs_lustre_root); + ldebugfs_add_vars(type->typ_debugfs_entry, vars, type); rc = kobject_add(&type->typ_kobj, &lustre_kset->kobj, "%s", name); if (rc) @@ -1182,8 +1176,8 @@ static void obd_zombie_import_free(struct obd_import *imp) while (!list_empty(&imp->imp_conn_list)) { struct obd_import_conn *imp_conn; - imp_conn = list_entry(imp->imp_conn_list.next, - struct obd_import_conn, oic_item); + imp_conn = list_first_entry(&imp->imp_conn_list, + struct obd_import_conn, oic_item); list_del_init(&imp_conn->oic_item); ptlrpc_put_connection_superhack(imp_conn->oic_conn); OBD_FREE(imp_conn, sizeof(*imp_conn)); @@ -1484,8 +1478,8 @@ static void class_disconnect_export_list(struct list_head *list, /* It's possible that an export may disconnect itself, but * nothing else will be added to this list. */ while (!list_empty(list)) { - exp = list_entry(list->next, struct obd_export, - exp_obd_chain); + exp = list_first_entry(list, struct obd_export, + exp_obd_chain); /* need for safe call CDEBUG after obd_disconnect */ class_export_get(exp); @@ -1830,8 +1824,8 @@ struct obd_export *obd_stale_export_get(void) spin_lock(&obd_stale_export_lock); if (!list_empty(&obd_stale_exports)) { - exp = list_entry(obd_stale_exports.next, - struct obd_export, exp_stale_list); + exp = list_first_entry(&obd_stale_exports, + struct obd_export, exp_stale_list); list_del_init(&exp->exp_stale_list); } spin_unlock(&obd_stale_export_lock); @@ -2044,8 +2038,9 @@ void obd_put_request_slot(struct client_obd *cli) /* If there is free slot, wakeup the first waiter. */ if (!list_empty(&cli->cl_flight_waiters) && likely(cli->cl_rpcs_in_flight < cli->cl_max_rpcs_in_flight)) { - orsw = list_entry(cli->cl_flight_waiters.next, - struct obd_request_slot_waiter, orsw_entry); + orsw = list_first_entry(&cli->cl_flight_waiters, + struct obd_request_slot_waiter, + orsw_entry); list_del_init(&orsw->orsw_entry); cli->cl_rpcs_in_flight++; wake_up(&orsw->orsw_waitq); @@ -2102,8 +2097,9 @@ int obd_set_max_rpcs_in_flight(struct client_obd *cli, __u32 max) if (list_empty(&cli->cl_flight_waiters)) break; - orsw = list_entry(cli->cl_flight_waiters.next, - struct obd_request_slot_waiter, orsw_entry); + orsw = list_first_entry(&cli->cl_flight_waiters, + struct obd_request_slot_waiter, + orsw_entry); list_del_init(&orsw->orsw_entry); cli->cl_rpcs_in_flight++; wake_up(&orsw->orsw_waitq); diff --git a/lustre/obdclass/lprocfs_status.c b/lustre/obdclass/lprocfs_status.c index 7fb8c0a..e2eebfd 100644 --- a/lustre/obdclass/lprocfs_status.c +++ b/lustre/obdclass/lprocfs_status.c @@ -221,31 +221,6 @@ void lprocfs_remove_proc_entry(const char *name, struct proc_dir_entry *parent) } EXPORT_SYMBOL(lprocfs_remove_proc_entry); -struct dentry *ldebugfs_register(const char *name, struct dentry *parent, - struct lprocfs_vars *list, void *data) -{ - struct dentry *entry; - - entry = debugfs_create_dir(name, parent); - if (IS_ERR_OR_NULL(entry)) { - entry = entry ?: ERR_PTR(-ENOMEM); - goto out; - } - - if (!IS_ERR_OR_NULL(list)) { - int rc; - - rc = ldebugfs_add_vars(entry, list, data); - if (rc) { - debugfs_remove(entry); - entry = ERR_PTR(rc); - } - } -out: - return entry; -} -EXPORT_SYMBOL_GPL(ldebugfs_register); - struct proc_dir_entry * lprocfs_register(const char *name, struct proc_dir_entry *parent, struct lprocfs_vars *list, void *data) @@ -1124,21 +1099,9 @@ int lprocfs_obd_setup(struct obd_device *obd, bool uuid_only) if (!obd->obd_type->typ_procroot) debugfs_vars = obd->obd_vars; - obd->obd_debugfs_entry = ldebugfs_register(obd->obd_name, - obd->obd_type->typ_debugfs_entry, - debugfs_vars, obd); - if (IS_ERR_OR_NULL(obd->obd_debugfs_entry)) { - rc = obd->obd_debugfs_entry ? PTR_ERR(obd->obd_debugfs_entry) - : -ENOMEM; - CERROR("error %d setting up debugfs for %s\n", - rc, obd->obd_name); - obd->obd_debugfs_entry = NULL; - - sysfs_remove_files(&obd->obd_kset.kobj, obd->obd_attrs); - obd->obd_attrs = NULL; - kset_unregister(&obd->obd_kset); - return rc; - } + obd->obd_debugfs_entry = debugfs_create_dir( + obd->obd_name, obd->obd_type->typ_debugfs_entry); + ldebugfs_add_vars(obd->obd_debugfs_entry, debugfs_vars, obd); if (obd->obd_proc_entry || !obd->obd_type->typ_procroot) GOTO(already_registered, rc); diff --git a/lustre/osp/lproc_osp.c b/lustre/osp/lproc_osp.c index c0fc78d..d5d7820 100644 --- a/lustre/osp/lproc_osp.c +++ b/lustre/osp/lproc_osp.c @@ -1079,18 +1079,9 @@ void osp_tunables_init(struct osp_device *osp) /* Since we register the obd device with ptlrpc / sptlrpc we * have to register debugfs with obd_device */ - obd->obd_debugfs_entry = ldebugfs_register(obd->obd_name, - obd->obd_type->typ_debugfs_entry, - obd->obd_vars, obd); - if (IS_ERR_OR_NULL(obd->obd_debugfs_entry)) { - rc = obd->obd_debugfs_entry ? PTR_ERR(obd->obd_debugfs_entry) - : -ENOMEM; - CERROR("%s: error %d setting up debugfs\n", - obd->obd_name, rc); - obd->obd_debugfs_entry = NULL; - dt_tunables_fini(&osp->opd_dt_dev); - return; - } + obd->obd_debugfs_entry = debugfs_create_dir( + obd->obd_name, obd->obd_type->typ_debugfs_entry); + ldebugfs_add_vars(obd->obd_debugfs_entry, obd->obd_vars, obd); sptlrpc_lprocfs_cliobd_attach(obd); ptlrpc_lprocfs_register_obd(obd); diff --git a/lustre/ptlrpc/gss/lproc_gss.c b/lustre/ptlrpc/gss/lproc_gss.c index b422523..29e5c49 100644 --- a/lustre/ptlrpc/gss/lproc_gss.c +++ b/lustre/ptlrpc/gss/lproc_gss.c @@ -227,22 +227,12 @@ int gss_init_tunables(void) spin_lock_init(&gss_stat_oos.oos_lock); - gss_debugfs_dir = ldebugfs_register("gss", sptlrpc_debugfs_dir, - gss_debugfs_vars, NULL); - if (IS_ERR_OR_NULL(gss_debugfs_dir)) { - rc = gss_debugfs_dir ? PTR_ERR(gss_debugfs_dir) : -ENOMEM; - gss_debugfs_dir = NULL; - GOTO(out, rc); - } + gss_debugfs_dir = debugfs_create_dir("gss", sptlrpc_debugfs_dir); + ldebugfs_add_vars(gss_debugfs_dir, gss_debugfs_vars, NULL); - gss_debugfs_dir_lk = ldebugfs_register("lgss_keyring", gss_debugfs_dir, - gss_lk_debugfs_vars, NULL); - if (IS_ERR(gss_debugfs_dir_lk)) { - rc = gss_debugfs_dir_lk ? PTR_ERR(gss_debugfs_dir_lk) - : -ENOMEM; - gss_debugfs_dir_lk = NULL; - GOTO(out, rc); - } + gss_debugfs_dir_lk = debugfs_create_dir("lgss_keyring", + gss_debugfs_dir); + ldebugfs_add_vars(gss_debugfs_dir_lk, gss_lk_debugfs_vars, NULL); gss_lprocfs_dir = lprocfs_register("gss", sptlrpc_lprocfs_dir, gss_lprocfs_vars, NULL); diff --git a/lustre/ptlrpc/sec_lproc.c b/lustre/ptlrpc/sec_lproc.c index fdce982..37fc578 100644 --- a/lustre/ptlrpc/sec_lproc.c +++ b/lustre/ptlrpc/sec_lproc.c @@ -267,14 +267,9 @@ int sptlrpc_lproc_init(void) LASSERT(sptlrpc_debugfs_dir == NULL); - sptlrpc_debugfs_dir = ldebugfs_register("sptlrpc", debugfs_lustre_root, - sptlrpc_lprocfs_vars, NULL); - if (IS_ERR_OR_NULL(sptlrpc_debugfs_dir)) { - rc = sptlrpc_debugfs_dir ? PTR_ERR(sptlrpc_debugfs_dir) - : -ENOMEM; - sptlrpc_debugfs_dir = NULL; - return rc; - } + sptlrpc_debugfs_dir = debugfs_create_dir("sptlrpc", + debugfs_lustre_root); + ldebugfs_add_vars(sptlrpc_debugfs_dir, sptlrpc_lprocfs_vars, NULL); sptlrpc_lprocfs_dir = lprocfs_register("sptlrpc", proc_lustre_root, NULL, NULL);