Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

9p: make register_filesystem() the last failure exit

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro 2226a288 01e0fe0b

+8 -8
+8 -8
fs/9p/v9fs.c
··· 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 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 }