diff options
Diffstat (limited to 'fs/affs/super.c')
-rw-r--r-- | fs/affs/super.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/affs/super.c b/fs/affs/super.c index 8ba73fed7964..0782653a05a2 100644 --- a/fs/affs/super.c +++ b/fs/affs/super.c | |||
@@ -473,7 +473,7 @@ got_root: | |||
473 | root_inode = affs_iget(sb, root_block); | 473 | root_inode = affs_iget(sb, root_block); |
474 | if (IS_ERR(root_inode)) { | 474 | if (IS_ERR(root_inode)) { |
475 | ret = PTR_ERR(root_inode); | 475 | ret = PTR_ERR(root_inode); |
476 | goto out_error_noinode; | 476 | goto out_error; |
477 | } | 477 | } |
478 | 478 | ||
479 | if (AFFS_SB(sb)->s_flags & SF_INTL) | 479 | if (AFFS_SB(sb)->s_flags & SF_INTL) |
@@ -481,7 +481,7 @@ got_root: | |||
481 | else | 481 | else |
482 | sb->s_d_op = &affs_dentry_operations; | 482 | sb->s_d_op = &affs_dentry_operations; |
483 | 483 | ||
484 | sb->s_root = d_alloc_root(root_inode); | 484 | sb->s_root = d_make_root(root_inode); |
485 | if (!sb->s_root) { | 485 | if (!sb->s_root) { |
486 | printk(KERN_ERR "AFFS: Get root inode failed\n"); | 486 | printk(KERN_ERR "AFFS: Get root inode failed\n"); |
487 | goto out_error; | 487 | goto out_error; |
@@ -494,9 +494,6 @@ got_root: | |||
494 | * Begin the cascaded cleanup ... | 494 | * Begin the cascaded cleanup ... |
495 | */ | 495 | */ |
496 | out_error: | 496 | out_error: |
497 | if (root_inode) | ||
498 | iput(root_inode); | ||
499 | out_error_noinode: | ||
500 | kfree(sbi->s_bitmap); | 497 | kfree(sbi->s_bitmap); |
501 | affs_brelse(root_bh); | 498 | affs_brelse(root_bh); |
502 | kfree(sbi->s_prefix); | 499 | kfree(sbi->s_prefix); |