diff options
author | Martin Brandenburg <martin@omnibond.com> | 2016-03-17 13:20:35 -0400 |
---|---|---|
committer | Mike Marshall <hubcap@omnibond.com> | 2016-03-17 14:34:10 -0400 |
commit | 2f83ace37181e445cab83d1d2a3a1dc88a36a814 (patch) | |
tree | a9dae9a0f5ae6d6060a8cc52ea477b8fbfbb20fc /fs/orangefs/orangefs-mod.c | |
parent | a4c680a027f52e179175fe451c69a55aba748efd (diff) | |
download | linux-2f83ace37181e445cab83d1d2a3a1dc88a36a814.tar.bz2 |
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/orangefs/orangefs-mod.c')
-rw-r--r-- | fs/orangefs/orangefs-mod.c | 26 |
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(); |