summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorMartin Brandenburg <martin@omnibond.com>2016-03-17 13:20:35 -0400
committerMike Marshall <hubcap@omnibond.com>2016-03-17 14:34:10 -0400
commit2f83ace37181e445cab83d1d2a3a1dc88a36a814 (patch)
treea9dae9a0f5ae6d6060a8cc52ea477b8fbfbb20fc /fs
parenta4c680a027f52e179175fe451c69a55aba748efd (diff)
orangefs: put register_chrdev immediately before register_filesystem
Signed-off-by: Martin Brandenburg <martin@omnibond.com> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/orangefs/orangefs-mod.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/fs/orangefs/orangefs-mod.c b/fs/orangefs/orangefs-mod.c
index 76a1b9765e23..6f072a8c0de1 100644
--- a/fs/orangefs/orangefs-mod.c
+++ b/fs/orangefs/orangefs-mod.c
@@ -144,21 +144,12 @@ static int __init orangefs_init(void)
if (ret < 0)
goto cleanup_op;
- /* Initialize the orangefsdev subsystem. */
- ret = orangefs_dev_init();
- if (ret < 0) {
- gossip_err("%s: could not initialize device subsystem %d!\n",
- __func__,
- ret);
- goto cleanup_inode;
- }
-
htable_ops_in_progress =
kcalloc(hash_table_size, sizeof(struct list_head), GFP_KERNEL);
if (!htable_ops_in_progress) {
gossip_err("Failed to initialize op hashtable");
ret = -ENOMEM;
- goto cleanup_device;
+ goto cleanup_inode;
}
/* initialize a doubly linked at each hash table index */
@@ -198,6 +189,15 @@ static int __init orangefs_init(void)
if (ret)
goto sysfs_init_failed;
+ /* Initialize the orangefsdev subsystem. */
+ ret = orangefs_dev_init();
+ if (ret < 0) {
+ gossip_err("%s: could not initialize device subsystem %d!\n",
+ __func__,
+ ret);
+ goto cleanup_device;
+ }
+
ret = register_filesystem(&orangefs_fs_type);
if (ret == 0) {
pr_info("orangefs: module version %s loaded\n", ORANGEFS_VERSION);
@@ -207,6 +207,9 @@ static int __init orangefs_init(void)
orangefs_sysfs_exit();
+cleanup_device:
+ orangefs_dev_cleanup();
+
sysfs_init_failed:
kernel_debug_init_failed:
@@ -220,9 +223,6 @@ cleanup_key_table:
cleanup_progress_table:
kfree(htable_ops_in_progress);
-cleanup_device:
- orangefs_dev_cleanup();
-
cleanup_inode:
orangefs_inode_cache_finalize();