summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/btrfs/inode.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index ff330280e0..019d532a1a 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -251,7 +251,7 @@ int btrfs_lookup_path(struct btrfs_root *root, u64 ino, const char *filename,
const char *cur = filename;
u64 next_ino;
u8 next_type;
- u8 type;
+ u8 type = BTRFS_FT_UNKNOWN;
int len;
int ret = 0;
@@ -335,6 +335,10 @@ next:
cur += len;
}
+ /* We haven't found anything, but still get no error? */
+ if (type == BTRFS_FT_UNKNOWN && !ret)
+ ret = -EUCLEAN;
+
if (!ret) {
*root_ret = root;
*ino_ret = ino;