summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2010-05-29 11:40:57 +0200
committerChris Mason <chris.mason@oracle.com>2010-06-11 21:57:33 +0200
commitfb4f6f910ca6f58564c31a680ef88940d8192713 (patch)
treeee83845c90ac3ec395ac670c7d87c83b0486de83 /fs
parentBtrfs: Fix BUG_ON for fs converted from extN (diff)
downloadlinux-fb4f6f910ca6f58564c31a680ef88940d8192713.tar.xz
linux-fb4f6f910ca6f58564c31a680ef88940d8192713.zip
Btrfs: handle error returns from btrfs_lookup_dir_item()
If btrfs_lookup_dir_item() fails, we should can just let the mount fail with an error. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/super.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index 574285c8cbd4..9ea711430466 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -360,6 +360,8 @@ static struct dentry *get_default_root(struct super_block *sb,
*/
dir_id = btrfs_super_root_dir(&root->fs_info->super_copy);
di = btrfs_lookup_dir_item(NULL, root, path, dir_id, "default", 7, 0);
+ if (IS_ERR(di))
+ return ERR_CAST(di);
if (!di) {
/*
* Ok the default dir item isn't there. This is weird since