Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 255150
b: refs/heads/master
c: 2bcf6e9
h: refs/heads/master
v: v3
  • Loading branch information
Christoph Hellwig committed Jul 13, 2011
1 parent 6647d48 commit 6e900fb
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 22 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b2ce39740066604288876c752d8170b3b17a21aa
refs/heads/master: 2bcf6e970f5a88fa05dced5eeb0326e13d93c4a1
35 changes: 14 additions & 21 deletions trunk/fs/xfs/linux-2.6/xfs_super.c
Original file line number Diff line number Diff line change
Expand Up @@ -1412,37 +1412,35 @@ xfs_fs_fill_super(
sb->s_time_gran = 1;
set_posix_acl_flag(sb);

error = xfs_syncd_init(mp);
if (error)
goto out_filestream_unmount;

xfs_inode_shrinker_register(mp);

error = xfs_mountfs(mp);
if (error)
goto out_syncd_stop;
goto out_filestream_unmount;

error = xfs_syncd_init(mp);
if (error)
goto out_unmount;

root = igrab(VFS_I(mp->m_rootip));
if (!root) {
error = ENOENT;
goto fail_unmount;
goto out_syncd_stop;
}
if (is_bad_inode(root)) {
error = EINVAL;
goto fail_vnrele;
goto out_syncd_stop;
}
sb->s_root = d_alloc_root(root);
if (!sb->s_root) {
error = ENOMEM;
goto fail_vnrele;
goto out_iput;
}

return 0;

out_syncd_stop:
xfs_inode_shrinker_unregister(mp);
xfs_syncd_stop(mp);
out_filestream_unmount:
xfs_inode_shrinker_unregister(mp);
xfs_filestream_unmount(mp);
out_free_sb:
xfs_freesb(mp);
Expand All @@ -1456,17 +1454,12 @@ xfs_fs_fill_super(
out:
return -error;

fail_vnrele:
if (sb->s_root) {
dput(sb->s_root);
sb->s_root = NULL;
} else {
iput(root);
}

fail_unmount:
xfs_inode_shrinker_unregister(mp);
out_iput:
iput(root);
out_syncd_stop:
xfs_syncd_stop(mp);
out_unmount:
xfs_inode_shrinker_unregister(mp);

/*
* Blow away any referenced inode in the filestreams cache.
Expand Down

0 comments on commit 6e900fb

Please sign in to comment.