aboutsummaryrefslogtreecommitdiffstats
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 6ae9bdf98b68..dfd5ba05ce45 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,
1579 1579
1580 disk_super = &fs_info->super_copy; 1580 disk_super = &fs_info->super_copy;
1581 if (!btrfs_super_root(disk_super)) 1581 if (!btrfs_super_root(disk_super))
1582 goto fail_sb_buffer; 1582 goto fail_iput;
1583 1583
1584 ret = btrfs_parse_options(tree_root, options); 1584 ret = btrfs_parse_options(tree_root, options);
1585 if (ret) { 1585 if (ret) {
1586 err = ret; 1586 err = ret;
1587 goto fail_sb_buffer; 1587 goto fail_iput;
1588 } 1588 }
1589 1589
1590 features = btrfs_super_incompat_flags(disk_super) & 1590 features = btrfs_super_incompat_flags(disk_super) &
@@ -1594,7 +1594,7 @@ struct btrfs_root *open_ctree(struct super_block *sb,
1594 "unsupported optional features (%Lx).\n", 1594 "unsupported optional features (%Lx).\n",
1595 features); 1595 features);
1596 err = -EINVAL; 1596 err = -EINVAL;
1597 goto fail_sb_buffer; 1597 goto fail_iput;
1598 } 1598 }
1599 1599
1600 features = btrfs_super_compat_ro_flags(disk_super) & 1600 features = btrfs_super_compat_ro_flags(disk_super) &
@@ -1604,7 +1604,7 @@ struct btrfs_root *open_ctree(struct super_block *sb,
1604 "unsupported option features (%Lx).\n", 1604 "unsupported option features (%Lx).\n",
1605 features); 1605 features);
1606 err = -EINVAL; 1606 err = -EINVAL;
1607 goto fail_sb_buffer; 1607 goto fail_iput;
1608 } 1608 }
1609 1609
1610 /* 1610 /*