From 2f83ace37181e445cab83d1d2a3a1dc88a36a814 Mon Sep 17 00:00:00 2001 From: Martin Brandenburg Date: Thu, 17 Mar 2016 13:20:35 -0400 Subject: [PATCH] orangefs: put register_chrdev immediately before register_filesystem Signed-off-by: Martin Brandenburg Signed-off-by: Mike Marshall --- fs/orangefs/orangefs-mod.c | 26 +++++++++++++------------- 1 file 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(); -- 2.20.1