All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Simmons <jsimmons@infradead.org>
To: lustre-devel@lists.lustre.org
Subject: [lustre-devel] [PATCH 03/38] lustre: llite: move llite_root and llite_kset to lproc_llite.c
Date: Thu, 16 Aug 2018 23:10:06 -0400	[thread overview]
Message-ID: <1534475441-15543-4-git-send-email-jsimmons@infradead.org> (raw)
In-Reply-To: <1534475441-15543-1-git-send-email-jsimmons@infradead.org>

Move llite_root and llite_kset to lproc_llite.c so that all
the sysfs and debugfs code is together.

Signed-off-by: James Simmons <uja.ornl@yahoo.com>
WC-bug-id: https://jira.whamcloud.com/browse/LU-8066
Reviewed-on: https://review.whamcloud.com/24031
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Signed-off-by: James Simmons <jsimmons@infradead.org>
---
 .../staging/lustre/lustre/llite/llite_internal.h   |  7 ++---
 drivers/staging/lustre/lustre/llite/llite_lib.c    | 14 ++++-----
 drivers/staging/lustre/lustre/llite/lproc_llite.c  | 34 ++++++++++++++++++++--
 drivers/staging/lustre/lustre/llite/super25.c      | 24 ++++-----------
 4 files changed, 45 insertions(+), 34 deletions(-)

diff --git a/drivers/staging/lustre/lustre/llite/llite_internal.h b/drivers/staging/lustre/lustre/llite/llite_internal.h
index 4053314..2719bc53 100644
--- a/drivers/staging/lustre/lustre/llite/llite_internal.h
+++ b/drivers/staging/lustre/lustre/llite/llite_internal.h
@@ -636,8 +636,8 @@ struct ll_file_data {
 	struct list_head fd_lccs; /* list of ll_cl_context */
 };
 
-extern struct dentry *llite_root;
-extern struct kset *llite_kset;
+void llite_tunables_unregister(void);
+int llite_tunables_register(void);
 
 static inline struct inode *ll_info2i(struct ll_inode_info *lli)
 {
@@ -675,8 +675,7 @@ int cl_get_grouplock(struct cl_object *obj, unsigned long gid, int nonblock,
 void cl_put_grouplock(struct ll_grouplock *cg);
 
 /* llite/lproc_llite.c */
-int ll_debugfs_register_super(struct dentry *parent,
-			      struct super_block *sb, char *osc, char *mdc);
+int ll_debugfs_register_super(struct super_block *sb, char *osc, char *mdc);
 void ll_debugfs_unregister_super(struct ll_sb_info *sbi);
 void ll_stats_ops_tally(struct ll_sb_info *sbi, int op, int count);
 void lprocfs_llite_init_vars(struct lprocfs_static_vars *lvars);
diff --git a/drivers/staging/lustre/lustre/llite/llite_lib.c b/drivers/staging/lustre/lustre/llite/llite_lib.c
index 437f4cc..d16f5d1 100644
--- a/drivers/staging/lustre/lustre/llite/llite_lib.c
+++ b/drivers/staging/lustre/lustre/llite/llite_lib.c
@@ -57,8 +57,6 @@
 #include "llite_internal.h"
 
 struct kmem_cache *ll_file_data_slab;
-struct dentry *llite_root;
-struct kset *llite_kset;
 
 #ifndef log2
 #define log2(n) ffz(~(n))
@@ -572,13 +570,11 @@ static int client_common_fill_super(struct super_block *sb, char *md, char *dt)
 	kfree(data);
 	kfree(osfs);
 
-	if (llite_root) {
-		err = ll_debugfs_register_super(llite_root, sb, dt, md);
-		if (err < 0) {
-			CERROR("%s: could not register mount in debugfs: "
-			       "rc = %d\n", ll_get_fsname(sb, NULL, 0), err);
-			err = 0;
-		}
+	err = ll_debugfs_register_super(sb, dt, md);
+	if (err < 0) {
+		CERROR("%s: could not register mount in debugfs: rc = %d\n",
+		       ll_get_fsname(sb, NULL, 0), err);
+		err = 0;
 	}
 
 	return err;
diff --git a/drivers/staging/lustre/lustre/llite/lproc_llite.c b/drivers/staging/lustre/lustre/llite/lproc_llite.c
index cae483f..a9ad328 100644
--- a/drivers/staging/lustre/lustre/llite/lproc_llite.c
+++ b/drivers/staging/lustre/lustre/llite/lproc_llite.c
@@ -39,6 +39,35 @@
 #include "llite_internal.h"
 #include "vvp_internal.h"
 
+static struct dentry *llite_root;
+static struct kset *llite_kset;
+
+int llite_tunables_register(void)
+{
+	int rc = 0;
+
+	llite_kset = kset_create_and_add("llite", NULL, lustre_kobj);
+	if (!llite_kset)
+		return -ENOMEM;
+
+	llite_root = debugfs_create_dir("llite", debugfs_lustre_root);
+	if (IS_ERR_OR_NULL(llite_root)) {
+		rc = llite_root ? PTR_ERR(llite_root) : -ENOMEM;
+		llite_root = NULL;
+		kset_unregister(llite_kset);
+	}
+
+	return rc;
+}
+
+void llite_tunables_unregister(void)
+{
+	kset_unregister(llite_kset);
+
+	debugfs_remove(llite_root);
+	llite_root = NULL;
+}
+
 /* debugfs llite mount point registration */
 static const struct file_operations ll_rw_extents_stats_fops;
 static const struct file_operations ll_rw_extents_stats_pp_fops;
@@ -1175,8 +1204,7 @@ void ll_stats_ops_tally(struct ll_sb_info *sbi, int op, int count)
 	[RA_STAT_FAILED_REACH_END] = "failed to reach end"
 };
 
-int ll_debugfs_register_super(struct dentry *parent,
-			      struct super_block *sb, char *osc, char *mdc)
+int ll_debugfs_register_super(struct super_block *sb, char *osc, char *mdc)
 {
 	struct lustre_sb_info *lsi = s2lsi(sb);
 	struct ll_sb_info *sbi = ll_s2sbi(sb);
@@ -1201,7 +1229,7 @@ int ll_debugfs_register_super(struct dentry *parent,
 	snprintf(name, MAX_STRING_SIZE, "%.*s-%p", len,
 		 lsi->lsi_lmd->lmd_profile, sb);
 
-	dir = debugfs_create_dir(name, parent);
+	dir = debugfs_create_dir(name, llite_root);
 	sbi->ll_debugfs_entry = dir;
 
 	debugfs_create_file("dump_page_cache", 0444, dir, sbi,
diff --git a/drivers/staging/lustre/lustre/llite/super25.c b/drivers/staging/lustre/lustre/llite/super25.c
index a3bc57d..2f4306e 100644
--- a/drivers/staging/lustre/lustre/llite/super25.c
+++ b/drivers/staging/lustre/lustre/llite/super25.c
@@ -228,22 +228,13 @@ static int __init lustre_init(void)
 	if (!ll_file_data_slab)
 		goto out_cache;
 
-	llite_root = debugfs_create_dir("llite", debugfs_lustre_root);
-	if (IS_ERR_OR_NULL(llite_root)) {
-		rc = llite_root ? PTR_ERR(llite_root) : -ENOMEM;
-		llite_root = NULL;
+	rc = llite_tunables_register();
+	if (rc)
 		goto out_cache;
-	}
-
-	llite_kset = kset_create_and_add("llite", NULL, lustre_kobj);
-	if (!llite_kset) {
-		rc = -ENOMEM;
-		goto out_debugfs;
-	}
 
 	rc = vvp_global_init();
 	if (rc != 0)
-		goto out_sysfs;
+		goto out_tunables;
 
 	cl_inode_fini_env = cl_env_alloc(&cl_inode_fini_refcheck,
 					 LCT_REMEMBER | LCT_NOREF);
@@ -270,10 +261,8 @@ static int __init lustre_init(void)
 	cl_env_put(cl_inode_fini_env, &cl_inode_fini_refcheck);
 out_vvp:
 	vvp_global_fini();
-out_sysfs:
-	kset_unregister(llite_kset);
-out_debugfs:
-	debugfs_remove(llite_root);
+out_tunables:
+	llite_tunables_unregister();
 out_cache:
 	kmem_cache_destroy(ll_inode_cachep);
 	kmem_cache_destroy(ll_file_data_slab);
@@ -286,8 +275,7 @@ static void __exit lustre_exit(void)
 
 	lustre_register_client_process_config(NULL);
 
-	debugfs_remove(llite_root);
-	kset_unregister(llite_kset);
+	llite_tunables_unregister();
 
 	ll_xattr_fini();
 	cl_env_put(cl_inode_fini_env, &cl_inode_fini_refcheck);
-- 
1.8.3.1

  parent reply	other threads:[~2018-08-17  3:10 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-17  3:10 [lustre-devel] [PATCH 00/38] lustre: fixes for sysfs handling James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 01/38] lustre: llite: rename ldebugfs_[un]register_mountpoint James Simmons
2018-08-17  4:24   ` NeilBrown
2018-08-17 22:03     ` James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 02/38] lustre: llite: change ll_statfs_internal to use struct ll_sb_info James Simmons
2018-08-17  3:10 ` James Simmons [this message]
2018-08-17  3:10 ` [lustre-devel] [PATCH 04/38] lustre: llite: remove ll_sb James Simmons
2018-08-17  4:27   ` NeilBrown
2018-08-18  0:35     ` James Simmons
2018-08-18  5:12       ` Andreas Dilger
2018-08-17  3:10 ` [lustre-devel] [PATCH 05/38] lustre: llite: change top kobject for llite into a kset James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 06/38] lustre: llite: rename llite_sb_release James Simmons
2018-08-17  5:56   ` NeilBrown
2018-08-17  3:10 ` [lustre-devel] [PATCH 07/38] lustre: llite: register mountpoint before process llog James Simmons
2018-08-17  6:21   ` NeilBrown
2018-08-17  3:10 ` [lustre-devel] [PATCH 08/38] lustre: llite: move lmd_profile handling James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 09/38] lustre: llite: add proper error handling for ll_debugfs_register_super() James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 10/38] lustre: llite: use C99 for struct lprocfs_llite_obd_vars James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 11/38] lustre: llite: create ll_stats_pid_write() James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 12/38] lustre: llite: improve sysfs file text in lproc_llite.c James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 13/38] lustre: llite: don't handle success case for blocksize sysfs code James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 14/38] lustre: llite: don't handle success case for kbyte* " James Simmons
2018-08-17  6:32   ` NeilBrown
2018-08-17  3:10 ` [lustre-devel] [PATCH 15/38] lustre: llite: don't handle success case for file* " James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 16/38] lustre: llite: user kstrtobool for some sysfs handling James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 17/38] lustre: llite: add newline to llite.*.offset_stats James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 18/38] lustre: obd: embedded struct lprocfs_vars in obd device James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 19/38] lustre: obdclass: swap obd device attrs and default_attrs James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 20/38] lustre: obdclass: embedded attributes in struct obd_device James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 21/38] lustre: obdclass: add light weight obd_def_uuid_attrs James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 22/38] lustre: obd: migrate to ksets James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 23/38] lustre: obd: create class_setup_tunables() function James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 24/38] lustre: obd: create conn_uuid sysfs file James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 25/38] lustre: obd: enhance print_lustre_cfg() James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 26/38] lustre: obd: merge both top lustre sysfs attributes James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 27/38] lustre: obd: resolve config log sysfs issues James Simmons
2018-08-17  6:52   ` NeilBrown
2018-08-17  3:10 ` [lustre-devel] [PATCH 28/38] lustre: obd: move ioctl handling to class_obd.c James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 29/38] lustre: llite: replace ll_process_config with class_modify_config James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 30/38] lustre: mgc: update sysfs handling James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 31/38] lustre: osc: fixup kstrto* for " James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 32/38] lustre: osc: restore cl_loi_list_lock James Simmons
2018-08-17  7:30   ` NeilBrown
2018-08-18  0:59     ` James Simmons
2018-08-18  5:08       ` Andreas Dilger
2018-08-18  5:10         ` Andreas Dilger
2018-08-17  3:10 ` [lustre-devel] [PATCH 33/38] lustre: osc: make unstable_stats a debugfs file James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 34/38] lustre: osc: enhance end to end bulk cksum error report James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 35/38] lustre: osc: update sysfs handling James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 36/38] lustre: lmv: " James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 37/38] lustre: lov: " James Simmons
2018-08-17  3:10 ` [lustre-devel] [PATCH 38/38] lustre: mdc: " James Simmons
2018-08-20  4:28 ` [lustre-devel] [PATCH 00/38] lustre: fixes for " NeilBrown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1534475441-15543-4-git-send-email-jsimmons@infradead.org \
    --to=jsimmons@infradead.org \
    --cc=lustre-devel@lists.lustre.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.