aboutsummaryrefslogtreecommitdiff
path: root/fs/btrfs/inode.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2016-02-05 19:31:48 +0000
committerMark Brown <broonie@kernel.org>2016-02-05 19:31:48 +0000
commit130faf3765d29c961be74f7245eb504a414a68e2 (patch)
treedf25d9b427876e1b95a3ff8e9f38dddcfce26610 /fs/btrfs/inode.c
parentf90ae1b62bedd8b57966a7be68855f2d43170db6 (diff)
parent707e840c5e24bb2df1ea4e753964275e257ec816 (diff)
Merge tag 'v3.18.26' into linux-linaro-lsk-v3.18lsk-v3.18-16.02
Linux 3.18.26 # gpg: Signature made Mon 25 Jan 2016 15:06:44 GMT using RSA key ID 97772CDC # gpg: requesting key 97772CDC from hkp server the.earth.li # gpg: key 97772CDC: public key "Sasha Levin <sasha.levin@oracle.com>" imported # gpg: no ultimately trusted keys found # gpg: Total number processed: 1 # gpg: imported: 1 (RSA: 1) # gpg: Good signature from "Sasha Levin <sasha.levin@oracle.com>" # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: E27E 5D8A 3403 A2EF 6687 3BBC DEA6 6FF7 9777 2CDC
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r--fs/btrfs/inode.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 0be09bb34b75..5db50e8bf52e 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -1268,8 +1268,14 @@ next_slot:
num_bytes = 0;
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
- if (found_key.objectid > ino ||
- found_key.type > BTRFS_EXTENT_DATA_KEY ||
+ if (found_key.objectid > ino)
+ break;
+ if (WARN_ON_ONCE(found_key.objectid < ino) ||
+ found_key.type < BTRFS_EXTENT_DATA_KEY) {
+ path->slots[0]++;
+ goto next_slot;
+ }
+ if (found_key.type > BTRFS_EXTENT_DATA_KEY ||
found_key.offset > end)
break;