summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosef Bacik <jbacik@redhat.com>2008-12-02 06:36:10 -0500
committerChris Mason <chris.mason@oracle.com>2008-12-02 06:36:10 -0500
commitc6e2bac1a52ffc36dd10769b594dfa3994e95f77 (patch)
treea48c535515c0d9311fa770afd0696644489cf074
parentf2b636e80d8206dd4012de6e973c2367259a7d22 (diff)
Btrfs: fix panic on error during mount
This needs to be applied on top of my previous patches, but is needed for more than just my new stuff. We're going to the wrong label when we have an error, we try to stop the workers, but they are started below all of this code. This fixes it so we go to the right error label and not panic when we fail one of these cases. Signed-off-by: Josef Bacik <jbacik@redhat.com>
-rw-r--r--fs/btrfs/disk-io.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 6ae9bdf98b6..dfd5ba05ce4 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -1579,12 +1579,12 @@ struct btrfs_root *open_ctree(struct super_block *sb,
disk_super = &fs_info->super_copy;
if (!btrfs_super_root(disk_super))
- goto fail_sb_buffer;
+ goto fail_iput;
ret = btrfs_parse_options(tree_root, options);
if (ret) {
err = ret;
- goto fail_sb_buffer;
+ goto fail_iput;
}
features = btrfs_super_incompat_flags(disk_super) &
@@ -1594,7 +1594,7 @@ struct btrfs_root *open_ctree(struct super_block *sb,
"unsupported optional features (%Lx).\n",
features);
err = -EINVAL;
- goto fail_sb_buffer;
+ goto fail_iput;
}
features = btrfs_super_compat_ro_flags(disk_super) &
@@ -1604,7 +1604,7 @@ struct btrfs_root *open_ctree(struct super_block *sb,
"unsupported option features (%Lx).\n",
features);
err = -EINVAL;
- goto fail_sb_buffer;
+ goto fail_iput;
}
/*