diff options
Diffstat (limited to 'fs')
-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(); |