Btrfs: check to see if we have an inline item properly
If our item isn't big enough to have an actual inline item when we have skinny metadata enabled just return 1 in find_inline_backref so we can move on to the next item. This probably wasn't causing a problem since we check the values of ptr and end properly, but just in case this will keep us from doing extra work. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
This commit is contained in:
parent
151a41bc46
commit
d062d13cf1
|
@ -641,6 +641,11 @@ int find_inline_backref(struct extent_buffer *leaf, int slot,
|
|||
WARN_ON(item_size < sizeof(*ei) + sizeof(*bi));
|
||||
return 1;
|
||||
}
|
||||
if (key.type == BTRFS_METADATA_ITEM_KEY &&
|
||||
item_size <= sizeof(*ei)) {
|
||||
WARN_ON(item_size < sizeof(*ei));
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (key.type == BTRFS_EXTENT_ITEM_KEY) {
|
||||
bi = (struct btrfs_tree_block_info *)(ei + 1);
|
||||
|
|
Loading…
Reference in New Issue