From: Al Viro Date: Sat, 17 Mar 2012 06:37:05 +0000 (-0400) Subject: 9p: make register_filesystem() the last failure exit X-Git-Tag: v3.4-rc1~163^2~25 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2226a288fac462ebc98e40da007842f92a7e4799;p=platform%2Fkernel%2Flinux-stable.git 9p: make register_filesystem() the last failure exit Signed-off-by: Al Viro --- diff --git a/fs/9p/v9fs.c b/fs/9p/v9fs.c index 1964f98..b85efa7 100644 --- a/fs/9p/v9fs.c +++ b/fs/9p/v9fs.c @@ -594,21 +594,21 @@ static int __init init_v9fs(void) int err; pr_info("Installing v9fs 9p2000 file system support\n"); /* TODO: Setup list of registered trasnport modules */ - err = register_filesystem(&v9fs_fs_type); - if (err < 0) { - pr_err("Failed to register filesystem\n"); - return err; - } err = v9fs_cache_register(); if (err < 0) { pr_err("Failed to register v9fs for caching\n"); - goto out_fs_unreg; + return err; } err = v9fs_sysfs_init(); if (err < 0) { pr_err("Failed to register with sysfs\n"); + goto out_cache; + } + err = register_filesystem(&v9fs_fs_type); + if (err < 0) { + pr_err("Failed to register filesystem\n"); goto out_sysfs_cleanup; } @@ -617,8 +617,8 @@ static int __init init_v9fs(void) out_sysfs_cleanup: v9fs_sysfs_cleanup(); -out_fs_unreg: - unregister_filesystem(&v9fs_fs_type); +out_cache: + v9fs_cache_unregister(); return err; }