Commit 2226a288fac462ebc98e40da007842f92a7e4799
1 parent
01e0fe0b10
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
9p: make register_filesystem() the last failure exit
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Showing 1 changed file with 8 additions and 8 deletions Side-by-side Diff
fs/9p/v9fs.c
... | ... | @@ -594,21 +594,21 @@ |
594 | 594 | int err; |
595 | 595 | pr_info("Installing v9fs 9p2000 file system support\n"); |
596 | 596 | /* TODO: Setup list of registered trasnport modules */ |
597 | - err = register_filesystem(&v9fs_fs_type); | |
598 | - if (err < 0) { | |
599 | - pr_err("Failed to register filesystem\n"); | |
600 | - return err; | |
601 | - } | |
602 | 597 | |
603 | 598 | err = v9fs_cache_register(); |
604 | 599 | if (err < 0) { |
605 | 600 | pr_err("Failed to register v9fs for caching\n"); |
606 | - goto out_fs_unreg; | |
601 | + return err; | |
607 | 602 | } |
608 | 603 | |
609 | 604 | err = v9fs_sysfs_init(); |
610 | 605 | if (err < 0) { |
611 | 606 | pr_err("Failed to register with sysfs\n"); |
607 | + goto out_cache; | |
608 | + } | |
609 | + err = register_filesystem(&v9fs_fs_type); | |
610 | + if (err < 0) { | |
611 | + pr_err("Failed to register filesystem\n"); | |
612 | 612 | goto out_sysfs_cleanup; |
613 | 613 | } |
614 | 614 | |
... | ... | @@ -617,8 +617,8 @@ |
617 | 617 | out_sysfs_cleanup: |
618 | 618 | v9fs_sysfs_cleanup(); |
619 | 619 | |
620 | -out_fs_unreg: | |
621 | - unregister_filesystem(&v9fs_fs_type); | |
620 | +out_cache: | |
621 | + v9fs_cache_unregister(); | |
622 | 622 | |
623 | 623 | return err; |
624 | 624 | } |