From: Dan Carpenter <error27@gmail.com>
Date: Sat, 29 May 2010 09:40:57 +0000 (+0000)
Subject: Btrfs: handle error returns from btrfs_lookup_dir_item()
X-Git-Tag: v2.6.35-rc3~3^2~10
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=fb4f6f910ca6f58564c31a680ef88940d8192713;p=users%2Fjedix%2Flinux-maple.git

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>
---

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